Есть вот такой тест:
public function test_isset_user_in_database()
{
$this->post('/api/v2/token/get', ['google_id' => $this->getGoogleID()]);
$this->assertDatabaseHas('app_users', ['google_id' => $this->getGoogleID()]);
}
В тесте не используется RefreshDatabase.
Метод setUp вот такой:
protected function setUp(): void
{
parent::setUp();
$response = $this->post('/api/v2/token/get', ['google_id' => $this->getGoogleID()]);
$responseJSON = $response->json();
$this->setJWTToken($responseJSON['data']['token']);
}
Запись создается вот так:
public function getOrCreateByGoogleID(string $googleID): ?AppUserModel
{
try {
return $this->model::firstOrCreate(['google_id' => $googleID]);
} catch (QueryException $e) {
}
return null;
}
Почему созданная запись пропдает при проверке через $this->assertDatabaseHas ? Причем другие записи сохраняются
И при запросах с постмена все работает как надо
UPD: проблема наблюдается если запустить больше 1 теста, и если данный тест будет не первым