【发布时间】:2020-06-09 09:26:19
【问题描述】:
深入研究,我不确定这是否可能,这很遗憾,因为我正在尝试学习 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 Cashier 文档展示了如何通过 Stripe.js 发送令牌,但这不适用于单元测试。
我尝试直接包含 Stripe 库并创建一个 PaymentMethod 对象,但这也需要我手动设置 API 密钥。现在我得到的错误是我必须验证我的电话号码才能将原始信用卡号码发送到条带 API。
我希望有更好的方法。如何以 TDD 方式使用 Laravel Cashier 并使用虚假支付方式模拟虚假订阅?
【问题讨论】:
标签: laravel stripe-payments laravel-cashier