From ce95b53cd4d8ea04b71200126a3a08d25e24b11d Mon Sep 17 00:00:00 2001 From: Anna Nikiforova Date: Fri, 19 Dec 2025 14:04:47 +0400 Subject: [PATCH 1/3] qa validate form solution --- src/validateRegisterForm.test.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/validateRegisterForm.test.js b/src/validateRegisterForm.test.js index 6d86ab9..5190009 100644 --- a/src/validateRegisterForm.test.js +++ b/src/validateRegisterForm.test.js @@ -26,5 +26,17 @@ describe(`Function 'validateRegisterForm':`, () => { expect(invalidPassword.message).toBe('Password is invalid.'); }); - // write more tests here + it(`should return error for valid password and wrong email`, () => { + const invalidEmail = validateRegisterForm('testmail.com', 'P@ssword1!'); + + expect(invalidEmail.code).toBe(422); + expect(invalidEmail.message).toBe('Email is invalid.'); + }); + + it(`should return error for invalid password and email`, () => { + const invalidData = validateRegisterForm('testmail.com', 'P@ssword'); + + expect(invalidData.code).toBe(500); + expect(invalidData.message).toBe('Password and email are invalid.'); + }); }); From 484ea51cc34c119ff5ae065ff7276f8a307d4115 Mon Sep 17 00:00:00 2001 From: Anna Nikiforova Date: Fri, 19 Dec 2025 15:18:28 +0400 Subject: [PATCH 2/3] fix the issues --- src/validateRegisterForm.test.js | 52 ++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/src/validateRegisterForm.test.js b/src/validateRegisterForm.test.js index 5190009..2b0c307 100644 --- a/src/validateRegisterForm.test.js +++ b/src/validateRegisterForm.test.js @@ -39,4 +39,56 @@ describe(`Function 'validateRegisterForm':`, () => { expect(invalidData.code).toBe(500); expect(invalidData.message).toBe('Password and email are invalid.'); }); + + it(`should return error for password shorter than 8 characters`, () => { + const result = validateRegisterForm('test@mail.com', 'P@s1a'); + + expect(result.code).toBe(422); + expect(result.message).toBe('Password is invalid.'); + }); + + it(`should return error for password longer than 16 characters`, () => { + const result = validateRegisterForm( + 'test@mail.com', + 'P@ssword1234567890' + ); + + expect(result.code).toBe(422); + expect(result.message).toBe('Password is invalid.'); + }); + + it(`should return error for password without uppercase letter`, () => { + const result = validateRegisterForm('test@mail.com', 'p@ssword1!'); + + expect(result.code).toBe(422); + expect(result.message).toBe('Password is invalid.'); + }); + + it(`should return error for password without special character`, () => { + const result = validateRegisterForm('test@mail.com', 'Password1'); + + expect(result.code).toBe(422); + expect(result.message).toBe('Password is invalid.'); + }); + + it(`should return error for email starting with dot`, () => { + const result = validateRegisterForm('.test@mail.com', 'P@ssword1!'); + + expect(result.code).toBe(422); + expect(result.message).toBe('Email is invalid.'); + }); + + it(`should return error if email ends with a dot`, () => { + const result = validateRegisterForm('testexample.com.', 'P@ssword1!'); + + expect(result.code).toBe(422); + expect(result.message).toBe('Email is invalid.'); + }); + + it(`should return error for email with consecutive dots`, () => { + const result = validateRegisterForm('test..mail@mail.com', 'P@ssword1!'); + + expect(result.code).toBe(422); + expect(result.message).toBe('Email is invalid.'); + }); }); From dfbd6bc222c62812ea9f3d5aa57713966b2f224f Mon Sep 17 00:00:00 2001 From: Anna Nikiforova Date: Fri, 19 Dec 2025 15:28:22 +0400 Subject: [PATCH 3/3] fix the issues 2 --- src/validateRegisterForm.test.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/validateRegisterForm.test.js b/src/validateRegisterForm.test.js index 2b0c307..a948b4c 100644 --- a/src/validateRegisterForm.test.js +++ b/src/validateRegisterForm.test.js @@ -19,6 +19,13 @@ describe(`Function 'validateRegisterForm':`, () => { expect(isValid.message).toBe('Email and password are valid.'); }); + it(`should return success for valid password with Cyrillic letters`, () => { + const result = validateRegisterForm('test@mail.com', 'ValidПароль1!'); + + expect(result.code).toBe(200); + expect(result.message).toBe('Email and password are valid.'); +}); + it(`should return error for valid email and password without number`, () => { const invalidPassword = validateRegisterForm('test@mail.com', 'P@ssword');