This commit is contained in:
@@ -25,6 +25,14 @@ jobs:
|
|||||||
--health-timeout 5s
|
--health-timeout 5s
|
||||||
--health-retries 5
|
--health-retries 5
|
||||||
|
|
||||||
|
env:
|
||||||
|
DB_CONNECTION: pgsql
|
||||||
|
DB_HOST: 127.0.0.1
|
||||||
|
DB_PORT: 5432
|
||||||
|
DB_DATABASE: testing
|
||||||
|
DB_USERNAME: root
|
||||||
|
DB_PASSWORD: ''
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
@@ -56,12 +64,15 @@ jobs:
|
|||||||
- name: Generate app key
|
- name: Generate app key
|
||||||
run: php artisan key:generate
|
run: php artisan key:generate
|
||||||
|
|
||||||
|
- name: Wait for Postgres
|
||||||
|
run: |
|
||||||
|
until pg_isready -h 127.0.0.1 -p 5432 -U root; do
|
||||||
|
echo "Waiting for postgres..."
|
||||||
|
sleep 2
|
||||||
|
done
|
||||||
|
|
||||||
|
- name: Run migrations
|
||||||
|
run: php artisan migrate --force
|
||||||
|
|
||||||
- name: Run tests
|
- name: Run tests
|
||||||
env:
|
|
||||||
DB_CONNECTION: pgsql
|
|
||||||
DB_HOST: 127.0.0.1
|
|
||||||
DB_PORT: 5432
|
|
||||||
DB_DATABASE: testing
|
|
||||||
DB_USERNAME: root
|
|
||||||
DB_PASSWORD: ''
|
|
||||||
run: php artisan test --compact
|
run: php artisan test --compact
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ class PaymentController extends Controller
|
|||||||
$openid = $request->attributes->get('fastapi_openid');
|
$openid = $request->attributes->get('fastapi_openid');
|
||||||
|
|
||||||
if ($openid === null) {
|
if ($openid === null) {
|
||||||
Gate::authorize('create', Booking::class);
|
Gate::authorize('pay', $booking);
|
||||||
}
|
}
|
||||||
|
|
||||||
$payment = $this->initiatePaymentAction->handle($booking);
|
$payment = $this->initiatePaymentAction->handle($booking);
|
||||||
|
|||||||
@@ -49,10 +49,10 @@ test('initiate returns a pending PaymentResultData on a successful precreate', f
|
|||||||
Http::fake(['kbz.test/*' => Http::response(['Response' => ['result' => 'SUCCESS', 'prepay_id' => 'PREPAY123']])]);
|
Http::fake(['kbz.test/*' => Http::response(['Response' => ['result' => 'SUCCESS', 'prepay_id' => 'PREPAY123']])]);
|
||||||
|
|
||||||
$result = (new KbzMiniAppGateway($config))->initiate($paymentRequest);
|
$result = (new KbzMiniAppGateway($config))->initiate($paymentRequest);
|
||||||
|
logger()->info('Payment initiation result', ['result' => $result]);
|
||||||
expect($result->status)->toBe(PaymentStatus::Pending)
|
expect($result->status)->toBe(PaymentStatus::Pending)
|
||||||
->and($result->gatewayTransactionId)->toBe('EVB-FIXTURE-001')
|
->and($result->gatewayTransactionId)->toBe('EVB-FIXTURE-001')
|
||||||
->and($result->gatewayPayload)->toBe(['result' => 'SUCCESS', 'prepay_id' => 'PREPAY123']);
|
->and($result->gatewayPayload['prepayId'])->toBe('PREPAY123');
|
||||||
});
|
});
|
||||||
|
|
||||||
test('initiate returns a failed PaymentResultData when KBZ rejects the request', function () use ($config, $paymentRequest) {
|
test('initiate returns a failed PaymentResultData when KBZ rejects the request', function () use ($config, $paymentRequest) {
|
||||||
|
|||||||
Reference in New Issue
Block a user