From 89bc4f21b9f14f0df9edc6b243ab2a1f05745d53 Mon Sep 17 00:00:00 2001 From: Raul Rooso Date: Mon, 13 Apr 2026 15:18:01 +0300 Subject: [PATCH 1/2] test: complete Exercise 1 registration tests --- API_test_run_1.png | Bin 0 -> 34249 bytes app.test.js | 212 +++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 196 insertions(+), 16 deletions(-) create mode 100644 API_test_run_1.png diff --git a/API_test_run_1.png b/API_test_run_1.png new file mode 100644 index 0000000000000000000000000000000000000000..73ee8ec288ea238b6f2b9a08a1edf8fba40d0e92 GIT binary patch literal 34249 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

rrPs<9xRk{kI4&Re}^Brh3UX|J<2=!6dJ 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 { }) expect(response.body.userId).toBeDefined(); }) +}) + +describe('Detailed Response Validation', () => { + test('should return full user object and correct headers on success', async () => { + const response = await request(app).post('/users').send({ + username: 'ValidUser', + password: 'Password123', + email: 'test@example.com' + }) + + // Check Status + expect(response.statusCode).toBe(200); + // Check Header + expect(response.headers['content-type']).toMatch(/json/); + // Check Body Content + expect(response.body).toEqual( + expect.objectContaining({ + message: "Valid User", + userId: expect.any(String) + }) + ); + }) +}) + +describe('Business requirements - Username', () => { + + test('Username: should fail if shorter than 6 characters', async () => { + const response = await request(app).post('/users').send({ + username: '12345', + password: 'Password123', + email: 'student@example.com' + }) + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ error: 'Invalid User' }); + expect(response.body.userId).toBeUndefined(); + }) + + test('Username: should fail if longer than 30 characters', async () => { + const response = await request(app).post('/users').send({ + username: 'a'.repeat(31), // Generates a 31-char string + password: 'Password123', + email: 'student@example.com' + }) + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ error: 'Invalid User' }); + }) + + test('Username: should fail if forbidden characters (@) are used', async () => { + const response = await request(app).post('/users').send({ + username: 'abc@123', + password: 'Password123', + email: 'student@example.com' + }) + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ error: 'Invalid User' }); + }) + + test('Username: should fail if left empty', async () => { + const response = await request(app).post('/users').send({ + username: '', + password: 'Password123', + email: 'student@example.com' + }) + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ error: 'Invalid User' }); + }) + + test('Username: should pass if it contains letters, numbers, and periods', async () => { + const response = await request(app).post('/users').send({ + username: 'abc.123', + password: 'Password123', + email: 'student@example.com' + }) + + expect(response.statusCode).toBe(200); + expect(response.body).toEqual({ + message: 'Valid User', + userId: expect.any(String) // We expect a string like "1" + }); + }) +}) + +describe('Business requirements - Password', () => { + + test('Password: should fail if shorter than 8 characters', async () => { + const response = await request(app).post('/users').send({ + username: 'abc.123', + password: 'Pass123', // 7 chars + email: 'student@example.com' + }) + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ error: 'Invalid User' }); + expect(response.body.userId).toBeUndefined(); + }) + + test('Password: should fail if no lowercase letter is used', async () => { + const response = await request(app).post('/users').send({ + username: 'abc.123', + password: 'PASSWORD123', + email: 'student@example.com' + }) + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ error: 'Invalid User' }); + }) + + test('Password: should fail if no uppercase letter is used', async () => { + const response = await request(app).post('/users').send({ + username: 'abc.123', + password: 'password123', + email: 'student@example.com' + }) + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ error: 'Invalid User' }); + }) - // test response content type? - // test response message - // test response user id value - // ... + test('Password: should fail if left empty', async () => { + const response = await request(app).post('/users').send({ + username: 'abc.123', + password: '', + email: 'student@example.com' + }) + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ error: 'Invalid User' }); + }) + + test('Password: should fail if no number is used', async () => { + const response = await request(app).post('/users').send({ + username: 'abc.123', + password: 'testPassword', + email: 'student@example.com' + }) + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ error: 'Invalid User' }); + }) + + test('Password: should fail if it contains special characters', async () => { + const response = await request(app).post('/users').send({ + username: 'abc.123', + password: 'Password@123', // contains '@' + email: 'student@example.com' + }) + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ error: 'Invalid User' }); + }) }) -describe('given incorrect or missing username and password', () => { - test('return status 400', async () => { +describe('Business requirements - Email', () => { + + test('Email: should fail if @ symbol is missing', async () => { const response = await request(app).post('/users').send({ - username: 'user', - password: 'password', - email: 'not-an-email' + username: 'abc.123', + password: 'Password123', + email: 'studentexample.com' }) - expect(response.statusCode).toBe(400) + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ error: 'Invalid User' }); + expect(response.body.userId).toBeUndefined(); + }) + + test('Email: should fail if domain name is missing', async () => { + const response = await request(app).post('/users').send({ + username: 'abc.123', + password: 'Password123', + email: 'student@' // Missing domain + }) + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ error: 'Invalid User' }); }) - // test response message - // test that response does NOT have userId - // test incorrect username or password according to requirements - // test missing username or password - // ... -}) \ No newline at end of file + test('Email: should fail if domain extension is missing', async () => { + const response = await request(app).post('/users').send({ + username: 'abc.123', + password: 'Password123', + email: 'student@example' // Missing .com, .org, etc. + }) + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ error: 'Invalid User' }); + }) + + test('Email: should fail if left empty', async () => { + const response = await request(app).post('/users').send({ + username: 'abc.123', + password: 'Password123', + email: '' + }) + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ error: 'Invalid User' }); + }) +}) From 8dba5643252146d3d51770257c3359d0ebcb1f34 Mon Sep 17 00:00:00 2001 From: Raul Rooso Date: Mon, 13 Apr 2026 16:36:00 +0300 Subject: [PATCH 2/2] test: complete Exercise 2 registration mockup tests --- API_test_run_1.png | Bin 34249 -> 0 bytes app.mock.test.js | 276 ++++++++++++++++++++++++++++++++++++++++----- test_runtime1.png | Bin 0 -> 56593 bytes test_runtime2.png | Bin 0 -> 44738 bytes 4 files changed, 245 insertions(+), 31 deletions(-) delete mode 100644 API_test_run_1.png create mode 100644 test_runtime1.png create mode 100644 test_runtime2.png diff --git a/API_test_run_1.png b/API_test_run_1.png deleted file mode 100644 index 73ee8ec288ea238b6f2b9a08a1edf8fba40d0e92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34249 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

rrPs<9xRk{kI4&Re}^Brh3UX|J<2=!6dJ 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 { + test('should return 200 when all validations pass', async () => { + // Force every mock to say "Yes, this is valid" + validateUsername.mockReturnValue(true); + validatePassword.mockReturnValue(true); + validateEmail.mockReturnValue(true); + + const response = await request(app).post('/users').send({ + username: 'abc.123', + password: 'Password123', + email: 'student@example.com' + }) -//Mock validateEmail to isolate tests -jest.mock('./validation/validateEmail', () => { - return jest.fn((email) => { - //Simulate real world simulation - if (!email || typeof email !== 'string') return false; - const re = /^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/i; - return re.test(email); + expect(response.statusCode).toBe(200); + expect(response.body).toEqual({ + message: 'Valid User', + userId: expect.any(String) + }); }) }) -const validateEmail = require('./validation/validateEmail') -const app = createApp(validateUsername, validatePassword, validateEmail) +describe('Business requirements - Username', () => { + + test('Username: should fail if shorter than 6 characters', async () => { + validateUsername.mockReturnValue(false); + validatePassword.mockReturnValue(true); + validateEmail.mockReturnValue(true); -describe('given correct username and password', () => { - test('return status 200', async () => { const response = await request(app).post('/users').send({ - username: 'Username', + username: '12345', password: 'Password123', email: 'student@example.com' }) - expect(response.statusCode).toBe(200) + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ error: 'Invalid User' }); + expect(response.body.userId).toBeUndefined(); }) - test('returns userId', async () => { + test('Username: should fail if longer than 30 characters', async () => { + validateUsername.mockReturnValue(false); + validatePassword.mockReturnValue(true); + validateEmail.mockReturnValue(true); + const response = await request(app).post('/users').send({ - username: 'Username', + username: 'a'.repeat(31), // Generates a 31-char string password: 'Password123', email: 'student@example.com' }) - expect(response.body.userId).toBeDefined(); + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ error: 'Invalid User' }); + }) + + test('Username: should fail if forbidden characters (@) are used', async () => { + validateUsername.mockReturnValue(false); + validatePassword.mockReturnValue(true); + validateEmail.mockReturnValue(true); + + const response = await request(app).post('/users').send({ + username: 'abc@123', + password: 'Password123', + email: 'student@example.com' + }) + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ error: 'Invalid User' }); + }) + + test('Username: should fail if left empty', async () => { + validateUsername.mockReturnValue(false); + validatePassword.mockReturnValue(true); + validateEmail.mockReturnValue(true); + + const response = await request(app).post('/users').send({ + username: '', + password: 'Password123', + email: 'student@example.com' + }) + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ error: 'Invalid User' }); + }) + + test('Username: should pass if it contains letters, numbers, and periods', async () => { + validateUsername.mockReturnValue(true); + validatePassword.mockReturnValue(true); + validateEmail.mockReturnValue(true); + + const response = await request(app).post('/users').send({ + username: 'abc.123', + password: 'Password123', + email: 'student@example.com' + }) + + expect(response.statusCode).toBe(200); + expect(response.body).toEqual({ + message: 'Valid User', + userId: expect.any(String) // We expect a string like "1" + }); + }) +}) + +describe('Business requirements - Password', () => { + + test('Password: should fail if shorter than 8 characters', async () => { + validateUsername.mockReturnValue(true); + validatePassword.mockReturnValue(false); + validateEmail.mockReturnValue(true); + + const response = await request(app).post('/users').send({ + username: 'abc.123', + password: 'Pass123', // 7 chars + email: 'student@example.com' + }) + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ error: 'Invalid User' }); + expect(response.body.userId).toBeUndefined(); + }) + + test('Password: should fail if no lowercase letter is used', async () => { + validateUsername.mockReturnValue(true); + validatePassword.mockReturnValue(false); + validateEmail.mockReturnValue(true); + + const response = await request(app).post('/users').send({ + username: 'abc.123', + password: 'PASSWORD123', + email: 'student@example.com' + }) + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ error: 'Invalid User' }); + }) + + test('Password: should fail if no uppercase letter is used', async () => { + validateUsername.mockReturnValue(true); + validatePassword.mockReturnValue(false); + validateEmail.mockReturnValue(true); + + const response = await request(app).post('/users').send({ + username: 'abc.123', + password: 'password123', + email: 'student@example.com' + }) + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ error: 'Invalid User' }); }) - // test response content type? - // test response message - // test response user id value - // ... + test('Password: should fail if left empty', async () => { + validateUsername.mockReturnValue(true); + validatePassword.mockReturnValue(false); + validateEmail.mockReturnValue(true); + + const response = await request(app).post('/users').send({ + username: 'abc.123', + password: '', + email: 'student@example.com' + }) + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ error: 'Invalid User' }); + }) + + test('Password: should fail if no number is used', async () => { + validateUsername.mockReturnValue(true); + validatePassword.mockReturnValue(false); + validateEmail.mockReturnValue(true); + const response = await request(app).post('/users').send({ + username: 'abc.123', + password: 'testPassword', + email: 'student@example.com' + }) + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ error: 'Invalid User' }); + }) + + test('Password: should fail if it contains special characters', async () => { + validateUsername.mockReturnValue(true); + validatePassword.mockReturnValue(false); + validateEmail.mockReturnValue(true); + + const response = await request(app).post('/users').send({ + username: 'abc.123', + password: 'Password@123', // contains '@' + email: 'student@example.com' + }) + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ error: 'Invalid User' }); + }) }) -describe('given incorrect or missing username and password', () => { - test('return status 400', async () => { +describe('Business requirements - Email', () => { + test('Email: should fail if @ symbol is missing', async () => { + validateUsername.mockReturnValue(true); + validatePassword.mockReturnValue(true); + validateEmail.mockReturnValue(false); + + const response = await request(app).post('/users').send({ + username: 'abc.123', + password: 'Password123', + email: 'studentexample.com' + }) + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ error: 'Invalid User' }); + expect(response.body.userId).toBeUndefined(); + }) + + test('Email: should fail if domain name is missing', async () => { + validateUsername.mockReturnValue(true); + validatePassword.mockReturnValue(true); + validateEmail.mockReturnValue(false); + + const response = await request(app).post('/users').send({ + username: 'abc.123', + password: 'Password123', + email: 'student@' // Missing domain + }) + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ error: 'Invalid User' }); + }) + + test('Email: should fail if domain extension is missing', async () => { + validateUsername.mockReturnValue(true); + validatePassword.mockReturnValue(true); + validateEmail.mockReturnValue(false); + const response = await request(app).post('/users').send({ - username: 'user', - password: 'password', - email: 'not-an-email' + username: 'abc.123', + password: 'Password123', + email: 'student@example' // Missing .com, .org, etc. }) - expect(response.statusCode).toBe(400) + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ error: 'Invalid User' }); }) - // test response message - // test that response does NOT have userId - // test incorrect username or password according to requirements - // test missing username or password - // ... + test('Email: should fail if left empty', async () => { + validateUsername.mockReturnValue(true); + validatePassword.mockReturnValue(true); + validateEmail.mockReturnValue(false); + + const response = await request(app).post('/users').send({ + username: 'abc.123', + password: 'Password123', + email: '' + }) + + expect(response.statusCode).toBe(400); + expect(response.body).toEqual({ error: 'Invalid User' }); + }) }) \ No newline at end of file diff --git a/test_runtime1.png b/test_runtime1.png new file mode 100644 index 0000000000000000000000000000000000000000..74f9f54c40a15d1d5212f7a6effe41d6d9c4ffd2 GIT binary patch literal 56593 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