Что-то не удаляется мягко, просто означает, что столбец deleted_at
пуст. Вы можете использовать метод assertDatabaseHas
, если этот столбец пуст:
$this->assertDatabaseHas('goals', [
'id' => $goal->id,
'deleted_at' => null
]);
Если вы хотите сделать это немного более динамичным, вы можете расширить базовый класс TestCase
с помощью пользовательского метода, который сделает это за вас и позволит вам сохранить ваши тесты с читаемым именем утверждения, а также делать что-то еще если вам нравится, найдите соответствующие имена таблиц / столбцов автоматически:
public function assertModelNotSoftDeleted(Model $model)
{
return $this->assertDatabaseHas($model->getTable(), [
$model->getKeyName() => $model->getKey(),
$model::DELETED_AT => null,
]);
}