Skip to content

Commit 30a7ee1

Browse files
committed
fix test
1 parent a690b86 commit 30a7ee1

File tree

2 files changed

+41
-6
lines changed

2 files changed

+41
-6
lines changed

src/ResourceGroup/Payments.php

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -272,7 +272,6 @@ public function getInvoice(string $invoiceUuid): PaymentGetInvoiceResponse
272272
*
273273
* $client = SimpleClientFactory::createClient('https://test.retailcrm.pro', 'apiKey');
274274
*
275-
* $request = new PaymentImportInvoiceRequest();
276275
* $invoice = new ApiImportInvoiceRequest();
277276
*
278277
* $invoice->paymentId = 979;
@@ -284,10 +283,8 @@ public function getInvoice(string $invoiceUuid): PaymentGetInvoiceResponse
284283
* $invoice->paidAt = '2025-07-08 00:10:00';
285284
* $invoice->refundable = true;
286285
*
287-
* $request->invoice = $invoice;
288-
*
289286
* try {
290-
* $response = $client->payments->importInvoice($request);
287+
* $response = $client->payments->importInvoice(new PaymentImportInvoiceRequest($invoice));
291288
* } catch (ApiExceptionInterface $exception) {
292289
* echo sprintf(
293290
* 'Error from RetailCRM API (status code: %d): %s',

tests/src/ResourceGroup/PaymentsTest.php

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,11 @@
1313
use RetailCrm\Api\Enum\RequestMethod;
1414
use RetailCrm\Api\Model\Entity\Payments\ApiCheckRequest;
1515
use RetailCrm\Api\Model\Entity\Payments\ApiCreateInvoiceRequest;
16+
use RetailCrm\Api\Model\Entity\Payments\ApiImportInvoiceRequest;
1617
use RetailCrm\Api\Model\Entity\Payments\ApiUpdateInvoiceRequest;
1718
use RetailCrm\Api\Model\Request\Payments\PaymentCheckRequest;
1819
use RetailCrm\Api\Model\Request\Payments\PaymentCreateInvoiceRequest;
20+
use RetailCrm\Api\Model\Request\Payments\PaymentImportInvoiceRequest;
1921
use RetailCrm\Api\Model\Request\Payments\PaymentUpdateInvoiceRequest;
2022
use RetailCrm\TestUtils\Factory\TestClientFactory;
2123
use RetailCrm\TestUtils\TestCase\AbstractApiResourceGroupTestCase;
@@ -119,8 +121,7 @@ public function testGetInvoice(): void
119121
{
120122
$json = <<<'EOF'
121123
{
122-
"success": false,
123-
"errorMsg": "Not found"
124+
"success": false
124125
}
125126
EOF;
126127

@@ -134,4 +135,41 @@ public function testGetInvoice(): void
134135

135136
self::assertModelEqualsToResponse($json, $response);
136137
}
138+
139+
public function testImportInvoice(): void
140+
{
141+
$json = <<<'EOF'
142+
{
143+
"success": true,
144+
"invoice": {
145+
"invoiceUuid": "7684160f-5ebe-4787-b031-1fc9e659f123"
146+
}
147+
}
148+
EOF;
149+
150+
$request = new PaymentImportInvoiceRequest();
151+
$invoice = new ApiImportInvoiceRequest();
152+
153+
$invoice->paymentId = 979;
154+
$invoice->externalId = '979';
155+
$invoice->status = 'succeeded';
156+
$invoice->amount = 6697.0;
157+
$invoice->currency = 'RUB';
158+
$invoice->createdAt = '2025-07-08 00:00:00';
159+
$invoice->paidAt = '2025-07-08 00:10:00';
160+
$invoice->refundable = true;
161+
162+
$request->invoice = $invoice;
163+
164+
$mock = static::createApiMockBuilder('payment/invoice/import');
165+
$mock->matchMethod(RequestMethod::POST)
166+
->matchBody(static::encodeForm($request))
167+
->reply()
168+
->withBody($json);
169+
170+
$client = TestClientFactory::createClient($mock->getClient());
171+
$response = $client->payments->importInvoice($request);
172+
173+
self::assertModelEqualsToResponse($json, $response);
174+
}
137175
}

0 commit comments

Comments
 (0)