forked from apoloz/alfa-bank-sdk
refactor
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
use Apoloz\AlfaBank\Webhooks\WebhookFactory;
|
||||
use Apoloz\AlfaBank\Data\Webhooks\Payloads\BaasWebhookData;
|
||||
use Apoloz\AlfaBank\Data\Webhooks\Payloads\SbpWebhookData;
|
||||
@@ -10,7 +12,15 @@ test('can detect baas webhook', function () {
|
||||
'object' => 'ul_transaction_default',
|
||||
'actionType' => 'create',
|
||||
'eventTime' => '2022-01-12T00:00:00',
|
||||
'data' => []
|
||||
'data' => [
|
||||
'transactionId' => 'TX123',
|
||||
'amount' => ['amount' => 100, 'currencyName' => 'RUR'],
|
||||
'direction' => 'DEBIT',
|
||||
'documentDate' => '2022-01-12',
|
||||
'operationCode' => '01',
|
||||
'paymentPurpose' => 'Test',
|
||||
'uuid' => 'uuid-123'
|
||||
]
|
||||
]
|
||||
];
|
||||
|
||||
@@ -18,19 +28,29 @@ test('can detect baas webhook', function () {
|
||||
|
||||
$webhook = WebhookFactory::create($payload);
|
||||
expect($webhook)->toBeInstanceOf(BaasWebhookData::class)
|
||||
->and($webhook->object)->toBe('ul_transaction_default');
|
||||
->and($webhook->object)->toBe('ul_transaction_default')
|
||||
->and($webhook->data->transactionId)->toBe('TX123');
|
||||
});
|
||||
|
||||
test('can detect sbp webhook', function () {
|
||||
$payload = [
|
||||
'command' => 'qrc/notification',
|
||||
'status' => 'ACWP',
|
||||
'qrcId' => 'test-id'
|
||||
[
|
||||
'object' => 'jp_sbp_incoming_payments',
|
||||
'actionType' => 'update',
|
||||
'data' => [
|
||||
'qrcId' => 'QR123',
|
||||
'nspkTransactionId' => 'NSPK123',
|
||||
'amount' => 1000,
|
||||
'currency' => 'RUR',
|
||||
'timestamp' => '2024-11-26T09:09:32Z'
|
||||
]
|
||||
]
|
||||
];
|
||||
|
||||
expect(WebhookFactory::isSbp($payload))->toBeTrue();
|
||||
|
||||
$webhook = WebhookFactory::create($payload);
|
||||
expect($webhook)->toBeInstanceOf(SbpWebhookData::class)
|
||||
->and($webhook->command)->toBe('qrc/notification');
|
||||
});
|
||||
->and($webhook->object)->toBe('jp_sbp_incoming_payments')
|
||||
->and($webhook->data->qrcId)->toBe('QR123');
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user