Purpose of the Test
This test is needed to cover a critical security and data integrity edge case for the user registration process. It ensures that the system prevents duplicate user accounts from being created with the same email address.
Related Feature/Functionality
- Module: Authentication
- Endpoint:
POST /api/auth/signup
- Controller:
signup function in authController.js
Proposed Test Cases
- It should reject a signup attempt with an email address that is already in use.
Current Gaps
The current test suite for authentication (auth.test.js) only validates the "happy path" or successful user signup. It does not contain any tests for failure scenarios, such as when a user tries to register with an email that already exists.
Expected Outcome
The test should confirm that when a POST request is sent to /api/auth/signup with an existing email, the API correctly returns a 400 Bad Request status code. It should also verify that no new user is created in the database.
Additional Notes
- This test should be added to the
backend/__tests__/auth.test.js file.
- The test will need to first create a user in the in-memory database during its setup phase before attempting to register the same user again.
Purpose of the Test
This test is needed to cover a critical security and data integrity edge case for the user registration process. It ensures that the system prevents duplicate user accounts from being created with the same email address.
Related Feature/Functionality
POST /api/auth/signupsignupfunction inauthController.jsProposed Test Cases
Current Gaps
The current test suite for authentication (
auth.test.js) only validates the "happy path" or successful user signup. It does not contain any tests for failure scenarios, such as when a user tries to register with an email that already exists.Expected Outcome
The test should confirm that when a
POSTrequest is sent to/api/auth/signupwith an existing email, the API correctly returns a400 Bad Requeststatus code. It should also verify that no new user is created in the database.Additional Notes
backend/__tests__/auth.test.jsfile.