Skip to content

Commit 42e0100

Browse files
chore: test firstOrCreate method for the model (#2399)
1 parent 61cc6ed commit 42e0100

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

tests/ModelTest.php

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -768,4 +768,23 @@ public function testGuardedModel()
768768
$model->fill(['level1' => $dataValues]);
769769
$this->assertEquals($dataValues, $model->getAttribute('level1'));
770770
}
771+
772+
public function testFirstOrCreate(): void
773+
{
774+
$name = 'Jane Poe';
775+
776+
/** @var User $user */
777+
$user = User::where('name', $name)->first();
778+
$this->assertNull($user);
779+
780+
/** @var User $user */
781+
$user = User::firstOrCreate(compact('name'));
782+
$this->assertInstanceOf(Model::class, $user);
783+
$this->assertTrue($user->exists);
784+
$this->assertEquals($name, $user->name);
785+
786+
/** @var User $check */
787+
$check = User::where('name', $name)->first();
788+
$this->assertEquals($user->_id, $check->_id);
789+
}
771790
}

0 commit comments

Comments
 (0)