Files
alfa-bank-sdk/tests/Feature/Webhooks/WebhookTest.php

36 lines
1.0 KiB
PHP

<?php
use Apoloz\AlfaBank\Webhooks\WebhookFactory;
use Apoloz\AlfaBank\Data\Webhooks\Payloads\BaasWebhookData;
use Apoloz\AlfaBank\Data\Webhooks\Payloads\SbpWebhookData;
test('can detect baas webhook', function () {
$payload = [
[
'object' => 'ul_transaction_default',
'actionType' => 'create',
'eventTime' => '2022-01-12T00:00:00',
'data' => []
]
];
expect(WebhookFactory::isBaas($payload))->toBeTrue();
$webhook = WebhookFactory::create($payload);
expect($webhook)->toBeInstanceOf(BaasWebhookData::class)
->and($webhook->object)->toBe('ul_transaction_default');
});
test('can detect sbp webhook', function () {
$payload = [
'command' => 'qrc/notification',
'status' => 'ACWP',
'qrcId' => 'test-id'
];
expect(WebhookFactory::isSbp($payload))->toBeTrue();
$webhook = WebhookFactory::create($payload);
expect($webhook)->toBeInstanceOf(SbpWebhookData::class)
->and($webhook->command)->toBe('qrc/notification');
});