private function getUserByEmail(string $email) : User { try { $emailAddress = EmailAddress::get($email); return $this->userRepository->getByEmailAddress($emailAddress); } catch (NoUniqueResultException $exception) { throw LoginFailedException::invalidCredentials($exception); } catch (\InvalidArgumentException $exception) { throw LoginFailedException::invalidEmailAddress(); } }
public function it_errors_on_invalid_email_address() { $email = 'r2-d2.bot'; $password = '******'; $this->shouldThrow(LoginFailedException::invalidEmailAddress())->duringLogin($email, $password); }