Unit Testing for the Valid Credentials Scenario During Sign-In

Learn how to write a unit test for the signIn method when the user provides valid credentials.

Test: Valid credentials

  • Objective: To ensure the signIn function successfully authenticates a user with valid credentials and returns an access token.

Key points to test:

  • The function should return an access token when the user provides a registered email and the correct password.

In this scenario, with the correct email and password, the userRepository findOneBy method retrieves the relevant user. The bcrypt.compare function confirms a correct password match by returning true. Following this, jwtService.signAsync generates an access token. Finally, the signIn function returns an object containing this token, { accessToken: "token123" }.

With a clear understanding of the scenario, let’s follow these steps to write our test:

Step 1: Mocking findOneBy and bcrypt.compare methods

Get hands-on with 1400+ tech skills courses.