В начале своего теста я создаю экземпляр фабричного пользователя и запускаю с ним различные тесты.В конце теста я запускаю свои утверждения, которые не выполняются.Однако, если я перезагружаю пользователя и запускаю те же утверждения, которые они пропускают.
Извиняюсь за довольно грубый пример этой проблемы.Чтобы проиллюстрировать проблему, я добавил в свой тест некоторую отладку:
dump(get_class($this->user) . ' : ' . $this->user->currentPlan());
$reloadUser = \App\User::find($this->user->id);
dump(get_class($reloadUser) . ' : ' . $reloadUser->currentPlan());
два дампа должны быть одинаковыми, но вывод:
"App\User : "
"App\User : Professional Annual"
метод currentPlan()
:
public function currentPlan()
{
if ($this->subscription('plan')) {
$plan = Plan::where('stripe_id', $this->subscription('plan')->stripe_plan)->first();
return $plan->nickname;
}
return false;
}
Я надеюсь, что это показывает проблему, но, пожалуйста, спросите, если что-то не ясно.
TIA