diff --git a/database/factories/UserFactory.php b/database/factories/UserFactory.php index b535d4b4..4ba906c2 100644 --- a/database/factories/UserFactory.php +++ b/database/factories/UserFactory.php @@ -20,8 +20,9 @@ class UserFactory extends Factory { */ public function definition() { return [ - 'password' => $this->faker->password(), 'email' => $this->faker->unique()->safeEmail(), + // use the email as the password so that it is easier to log in as these users + 'password' => fn (array $attributes) => $attributes['email'], 'verified' => $this->faker->boolean(), ]; } diff --git a/tests/Feature/Models/UserFactoryTest.php b/tests/Feature/Models/UserFactoryTest.php new file mode 100644 index 00000000..af194806 --- /dev/null +++ b/tests/Feature/Models/UserFactoryTest.php @@ -0,0 +1,32 @@ +make(); + + $this->assertTrue(Hash::check($user->email, $user->password)); + } + + public function testDefaultPasswordMatchesOverriddenEmail(): void { + $email = 'factory@example.com'; + $user = User::factory()->make(['email' => $email]); + + $this->assertTrue(Hash::check($email, $user->password)); + } + + public function testExplicitPasswordOverridesDefault(): void { + $password = 'explicit-password'; + $user = User::factory()->make(['password' => $password]); + + $this->assertTrue(Hash::check($password, $user->password)); + $this->assertFalse(Hash::check($user->email, $user->password)); + } +}