Laravel Cashier虚假用户订阅测试

时间:2015-04-02 13:25:29

标签: phpunit laravel-5 stripe-payments

我正在使用Laravel的收银台进行计费,这非常棒。我正在努力做好并保持我的代码测试,但我在“假装”用户订阅时遇到了麻烦。

我试过了:

$user = App\Models\User::create([
  'first_name'    => $this->faker->firstName,
  'last_name'     => $this->faker->lastName,
  'email'         => $this->faker->email,
  'password'      => 'password1234',
  'stripe_plan'   => 'name_of_plan',
  'stripe_active' => 1
]);

$this->be($user);

但如果我再检查$user->onPlan('name_of_plan'),我会false :(

有办法做到这一点吗?我确信你可以欣赏我真的不想启动支付系统,直到我有测试支持它!

1 个答案:

答案 0 :(得分:1)

检查'stripe_plan'和'stripe_active'是否定义为可填写用户。如果它们不是那么它可能实际上没有在User :: create()中设置这些值,这就是你的测试失败的原因。

class User extends Model implements AuthenticatableContract, CanResetPasswordContract, BillableContract {
    use Authenticatable, CanResetPassword, Billable;

    protected $table = 'users';

    protected $fillable = [
        'first_name', 
        'last_name', 
        'email', 
        'password', 
        'stripe_plan', 
        'stripe_active'
    ];

}