Unit Testing for the Invalid Password Scenario During Sign-In
Learn how to write a unit test for the signIn method when the user provides an incorrect password.
Test: Invalid password
Objective: To ensure the
signIn
method properly handles cases where a user attempts to sign in with an existing email in our system but an incorrect password.
Key points to test:
The function should throw an
UnauthorizedException
when the password for a registered email is incorrect.
In this scenario, the userRepository
utilizes findOneBy
to retrieve the user by email during the sign-in process. When bcrypt.compare
returns false
, signifying the password is incorrect, the signIn
function throws an UnauthorizedException
.
Let’s follow these steps to write our test:
Step 1: Mocking the findOneBy
behavior
Get hands-on with 1400+ tech skills courses.