mivita/tests/Unit/Services/PayoneCallbackTestbenchTest.php
2026-04-10 17:15:27 +02:00

27 lines
870 B
PHP

<?php
use App\Models\ShoppingOrder;
use App\Models\ShoppingPayment;
use App\Services\SyS\PayoneCallbackTestbench;
use Tests\TestCase;
uses(TestCase::class);
it('baut Payone-Callback-Payload mit passendem price und param', function () {
$order = new ShoppingOrder;
$order->forceFill(['id' => 42]);
$payment = ShoppingPayment::make([
'amount' => 11_900,
'reference' => 'abcd1234efgh5678',
'mode' => 'test',
'clearingtype' => 'wlt',
]);
$payload = PayoneCallbackTestbench::buildPayoneCallbackPayload($order, $payment, 123456789);
expect($payload['price'])->toBe('119.00')
->and($payload['param'])->toBe('42')
->and($payload['txaction'])->toBe('paid')
->and($payload['reference'])->toBe('abcd1234efgh5678')
->and($payload['key'])->toBe((string) config('payone.defaults.key'));
});