In your tests, you might have used assertDatabaseHas to make sure that a model actual is persisted.

it(‘will not delete a user’, function() {
$user = User::find(1);

// perform some logic of which you want
// to verify that it doesn’t delete your user

$this->assertDatabaseHas(‘users’, [
‘id’ => 1,
]);
});

In recent Laravel versions you can replace this with assertModelExists, which performs that database check under the hood.

it(‘will not delete a user’, function() {
$user = User::find(1);

// perform some logic of which you want
// to verify that it doesn’t delete your user

$this->assertModelExists($user);
});

There’s also a assertModelMissing that you could you instead of the more verbose assertDatabaseMissing.

I hope this little tip, will improve the readability of your tests.

Categories: PHP