Compare commits

..

2 Commits

3 changed files with 17 additions and 4 deletions

View File

@@ -23,7 +23,7 @@ class UpdateRequisiteRequest extends Request implements HasBody
{
use HasJsonBody;
protected Method $method = Method::PUT;
protected Method $method = Method::PATCH;
public function __construct(
protected string $beneficiaryId,

View File

@@ -4,7 +4,7 @@ declare(strict_types=1);
namespace Apoloz\AlfaBank\Requests\NominalAccounts\Payouts;
use Apoloz\AlfaBank\Data\Shared\ResultResponseData;
use Apoloz\AlfaBank\Data\NominalAccounts\Payouts\PayoffResponseData;
use Saloon\Enums\Method;
use Saloon\Http\Request;
use Saloon\Http\Response;
@@ -25,8 +25,8 @@ class PayoffAcceptRequest extends Request
return "/api/na/jp/v1/payoffs/{$this->payoffId}/accept?{$query}";
}
public function createDtoFromResponse(Response $response): ResultResponseData
public function createDtoFromResponse(Response $response): PayoffResponseData
{
return ResultResponseData::from($response->json());
return PayoffResponseData::from($response->json());
}
}

View File

@@ -5,7 +5,9 @@ use Apoloz\AlfaBank\Core\AlfaConfig;
use Apoloz\AlfaBank\Data\NominalAccounts\Beneficiaries\AddressData;
use Apoloz\AlfaBank\Data\NominalAccounts\Beneficiaries\CreateBeneficiaryRequestData;
use Apoloz\AlfaBank\Requests\NominalAccounts\Beneficiaries\CreateBeneficiaryRequest;
use Apoloz\AlfaBank\Requests\NominalAccounts\Beneficiaries\Requisites\UpdateRequisiteRequest;
use Apoloz\AlfaBank\Services\OpenSslCmsSigner;
use Saloon\Enums\Method;
use Saloon\Http\Faking\MockResponse;
use Spatie\LaravelData\DataCollection;
@@ -58,3 +60,14 @@ test('can create a beneficiary with automatic signing', function (): void {
expect($response->status())->toBe(202)
->and($response->dto()->requestId)->toBe('req-123');
});
test('update requisite request uses PATCH', function (): void {
$request = new UpdateRequisiteRequest(
beneficiaryId: 'ben-1',
requisiteId: 'req-1',
data: ['phoneNumber' => '79031234567'],
);
expect($request->getMethod())->toBe(Method::PATCH)
->and($request->resolveEndpoint())->toBe('/api/na/jp/v1/beneficiaries/ben-1/requisites/req-1');
});