save($user); $dto = new LoginUserRequest($email, 'testPassword'); $useCase = new LoginUser($dto, $userRepo); $response = $useCase->execute(); $this->assertTrue($response); } public function test_non_existing_user_login_fails(): void { $email = 'test@test.com'; $password = 'testPassword'; $dto = new LoginUserRequest($email, $password); $userRepo = new FakeUserRepository(); $useCase = new LoginUser($dto, $userRepo); $response = $useCase->execute(); $this->assertFalse($response); } public function test_wrong_password_fails(): void { $email = 'test@test.com'; $password = 'testPassword'; $user = new User($email, $password); $userRepo = new FakeUserRepository(); $userRepo->save($user); $dto = new LoginUserRequest($email, 'wrongPassword'); $useCase = new LoginUser($dto, $userRepo); $response = $useCase->execute(); $this->assertFalse($response); } }