tenant = Tenant::factory()->create(); }); // FN-RESET (приёмка 22.06.2026): дефолтное Laravel-уведомление ResetPassword // строит URL через route('password.reset'), которого в SPA нет (роут сброса — // /reset/{token}). Без фикса toMail() бросает «Route [password.reset] not defined», // письмо не уходит. Фикс: ResetPassword::createUrlUsing(...) в AppServiceProvider::boot. test('ResetPassword notification строит ссылку на SPA-роут /reset/{token}?email= без route-error', function () { $user = User::factory()->create([ 'tenant_id' => $this->tenant->id, 'email' => 'reset-link@example.ru', 'password_hash' => Hash::make('old-pass-1234'), ]); $token = 'test-token-abc123'; // Без фикса этот вызов бросит «Route [password.reset] not defined». $mail = (new ResetPassword($token))->toMail($user); $url = (string) $mail->actionUrl; expect($url)->toContain('/reset/'.$token); expect($url)->toContain('email='.urlencode('reset-link@example.ru')); });