forked from apoloz/alfa-bank-sdk
refactor(core): enhance SDK structure and documentation
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
51
tests/Feature/Webhooks/WebhookManagementTest.php
Normal file
51
tests/Feature/Webhooks/WebhookManagementTest.php
Normal file
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
|
||||
use Apoloz\AlfaBank\Core\AlfaBankConnector;
|
||||
use Apoloz\AlfaBank\Requests\Webhooks\CreateWebhookRequest;
|
||||
use Apoloz\AlfaBank\Requests\Webhooks\GetWebhooksRequest;
|
||||
use Apoloz\AlfaBank\Requests\Webhooks\DeleteWebhookRequest;
|
||||
use Apoloz\AlfaBank\Data\Webhooks\Subscriptions\WebhookSubscriptionRequestData;
|
||||
use Saloon\Http\Faking\MockResponse;
|
||||
|
||||
test('can list webhooks', function () {
|
||||
$mockClient = new \Saloon\Http\Faking\MockClient([
|
||||
GetWebhooksRequest::class => MockResponse::make([['id' => 'WH-1']], 200),
|
||||
]);
|
||||
|
||||
$config = createTestConfig();
|
||||
$connector = new AlfaBankConnector($config);
|
||||
$connector->withMockClient($mockClient);
|
||||
|
||||
$response = $connector->send(new GetWebhooksRequest());
|
||||
|
||||
expect($response->status())->toBe(200)
|
||||
->and($response->json('0.id'))->toBe('WH-1');
|
||||
});
|
||||
|
||||
test('can create webhook', function () {
|
||||
$mockClient = new \Saloon\Http\Faking\MockClient([
|
||||
CreateWebhookRequest::class => MockResponse::make(['id' => 'WH-2'], 201),
|
||||
]);
|
||||
|
||||
$config = createTestConfig();
|
||||
$connector = new AlfaBankConnector($config);
|
||||
$connector->withMockClient($mockClient);
|
||||
|
||||
$response = $connector->send(new CreateWebhookRequest(new WebhookSubscriptionRequestData('https://test.io', ['transactions'])));
|
||||
|
||||
expect($response->status())->toBe(201);
|
||||
});
|
||||
|
||||
test('can delete webhook', function () {
|
||||
$mockClient = new \Saloon\Http\Faking\MockClient([
|
||||
DeleteWebhookRequest::class => MockResponse::make([], 204),
|
||||
]);
|
||||
|
||||
$config = createTestConfig();
|
||||
$connector = new AlfaBankConnector($config);
|
||||
$connector->withMockClient($mockClient);
|
||||
|
||||
$response = $connector->send(new DeleteWebhookRequest('WH-1'));
|
||||
|
||||
expect($response->status())->toBe(204);
|
||||
});
|
||||
Reference in New Issue
Block a user