Veritabanını sıfırlamak için RefreshDatabase trait'i yerine IlluminateFoundationTestingDatabaseMigrations trait'ini kullanabilirsin. Böylece migration'ları da her defasında çalıştırır ama RefreshDatabase'e göre daha yavaştır. Auth testi için actingAs metodunu kullanabilirsin. $this->actingAs($user) gibi.
Birinci sorum için şu şekilde bir çözüm ürettim en kolayı bu geldi. İşimi şimdilik görüyor.
public function setUp(): void { parent::setUp(); Artisan::call('migrate:fresh --seed --drop-views'); }ActingAs mevcut bir üyeyi doğrulamak için basit bir yol sağlıyor ama ben 2fa ile beraber doğrulamak istiyorum amacım sadece doğrulamak değil. 2. sorum için şöyle bir çözüm ürettim doğrumu emin değilim hala araştırıyorum.
$user = User::find(2);
$response = $this->post('/login', [
'email' => $user->email,
'password' => 'Aa123321.',
]);
$find = UserCode::orderBy('id' , 'desc')->first();
$response = $this->post('/2fa', [
'code' => $find->code,
]);
$this->assertAuthenticated();