public function testCheckOrder() { $this->requestData = ['requestDatetime' => $this->performedDatetime, 'action' => 'checkOrder', 'md5' => '8256D2A032A35709EAF156270C9EFE2E', 'shopId' => $this->shopId, 'shopArticleId' => '456', 'invoiceId' => $this->invoiceId, 'customerNumber' => '8123294469', 'orderCreatedDatetime' => '2011-05-04T20:38:00.000+04:00', 'orderSumAmount' => '87.10', 'orderSumCurrencyPaycash' => '643', 'orderSumBankPaycash' => '1001', 'shopSumAmount' => '86.23', 'shopSumCurrencyPaycash' => '643', 'shopSumBankPaycash' => '1001', 'paymentPayerCode' => '42007148320', 'paymentType' => 'AC', 'MyField' => 'My value']; $this->responseData = ['performedDatetime' => $this->performedDatetime, 'invoiceId' => $this->invoiceId, 'shopId' => $this->shopId]; $this->specify('It should return OK when request is valid AND callback return true', function () { $this->expectsCheckOrderCallbackReturn(true); $this->fillCheckOrderRequest($this->requestData); $this->expectsCheckRequestIsValid(); $xml = $this->makeCheckOrderResponseXml(['code' => YandexKassaResponse::STATUS_SUCCESS]); $this->assertXmlStringEqualsXmlString($xml, $this->kassa->createCheckOrderResponse($this->requestData)->getContent()); }); $this->specify('It should return with error when request is invalid', function () { $this->expectsCheckOrderCallbackReturn(true); $this->fillCheckOrderRequest($this->requestData); $this->expectsCheckRequestIsInvalid(); $xml = $this->makeCheckOrderResponseXml(['code' => YandexKassaResponse::STATUS_AUTHORIZE_ERROR, 'message' => YandexKassaResponse::MESSAGE_INVALID_REQUEST]); $this->assertXmlStringEqualsXmlString($xml, $this->kassa->createCheckOrderResponse($this->requestData)->getContent()); }); $this->specify('It should return error when order check callback return false', function () { $this->expectsCheckOrderCallbackReturn(false); $this->fillCheckOrderRequest($this->requestData); $this->expectsCheckRequestIsValid(); $xml = $this->makeCheckOrderResponseXml(['code' => YandexKassaResponse::STATUS_REFUSE_ACCEPT_TRANSFER, 'message' => YandexKassaResponse::MESSAGE_REFUSE_ACCEPT_TRANSFER]); $this->assertXmlStringEqualsXmlString($xml, $this->kassa->createCheckOrderResponse($this->requestData)->getContent()); }); }
public function createCheckOrderResponse(array $requestData) { return $this->kassa->createCheckOrderResponse($requestData); }