Глядя вглубь этого, я не уверен, что это даже возможно, и это позор, потому что я пытаюсь выучить TDD.
Я хотел бы проверить свою модель на Billable
создан и подписан на план.
/** @test */
public function an_account_can_subscribe_to_a_plan() {
$account = factory("App\Account")->create();
Stripe::setApiKey('key');
$paymentMethod = PaymentMethod::create([
'type' => 'card',
'card' => [
'number' => '4242424242424242',
'exp_month' => '2',
'exp_year' => '2021',
'cvc' => '314'
]
]);
$subscription = $account->newSubscription('default', 'starter')->create($paymentMethod);
$this->assertTrue( $subscription->valid() );
}
В документах кассира Laravel показано, как отправить токен через Stripe. js, но это не работает для модульного тестирования.
Я попытался включить библиотеку Stripe напрямую и создать объект PaymentMethod
, но для этого также необходимо вручную установить ключ API. Теперь ошибка, которую я получаю, заключается в том, что мне нужно подтвердить свой номер телефона, чтобы отправить необработанные номера кредитных карт в API полосы.
Я надеюсь, что есть лучший способ. Как я могу использовать Laravel Кассу TDD способом и макетировать поддельные подписки с поддельными способами оплаты?