У нас проблема с нашим набором тестов. Когда мы запускаем это с помощью набора тестов, мы получаем ответ «Таблица пуста ...» от PHPUnit.
Мы знаем, что это работает, так как мы также тестировали с помощью тестовой функции Stripe «Отправить веб-ловушку» который работает, и ответ сохраняется как ожидалось.
Наш код здесь:
public function test_webhook_received()
{
$this->expectsJobs([StoreStripeWebHookJob::class]);
$this->postJson('/stripeHook', [
'created' => 1326853478,
'livemode' => false,
'id' => 'evt_00000000000000',
'type' => 'account.external_account.created',
'object' => 'event',
'request' => NULL,
'pending_webhooks' => 1,
'api_version' => '2019-12-03',
'data' => [
'object' => [
'id' => 'ba_00000000000000',
'object' => 'bank_account',
'account' => 'acct_00000000000000',
'account_holder_name' => 'Jane Austin',
'account_holder_type' => 'individual',
'bank_name' => 'STRIPE TEST BANK',
'country' => 'US',
'currency' => 'gbp',
'fingerprint' => '8JXtPxqbdX5GnmYz',
'last4' => '6789',
'metadata' => [],
'routing_number' => '110000000',
'status' => 'new',
],
],
]);
$this->assertDatabaseHas('stripe_webhooks', [
'stripe_created_at' => 1326853478,
'type' => 'account.external_account.created',
]);
}
Получен ответ:
Не удалось утверждать, что строка в таблице [stripe_webhooks] соответствует атрибутам {"stripe_created_at": 1326853478, "тип": "account.external_account.created"}.
Таблица пуста ..
Если мы удалим
$this->expectsJobs([StoreStripeWebHookJob::class]);
, тесты пройдут успешно. Очевидно, что вызов expectedJob () должен быть там, где он есть.