From 38cb3d4114ee982a3e8867f48abdbfe9e22cb1c3 Mon Sep 17 00:00:00 2001 From: SerhiiSemennikov Date: Sat, 1 Nov 2025 11:56:35 +0100 Subject: [PATCH 1/3] copy1 --- src/validateRegisterForm.test.js | 104 +++++++++++++++++++++++++++---- 1 file changed, 93 insertions(+), 11 deletions(-) diff --git a/src/validateRegisterForm.test.js b/src/validateRegisterForm.test.js index 6d86ab9..7de99e4 100644 --- a/src/validateRegisterForm.test.js +++ b/src/validateRegisterForm.test.js @@ -1,30 +1,112 @@ -'use strict'; +"use strict"; describe(`Function 'validateRegisterForm':`, () => { - const validateRegisterForm = require('./validateRegisterForm'); + const validateRegisterForm = require("./validateRegisterForm"); it(`should be declared`, () => { expect(validateRegisterForm).toBeInstanceOf(Function); }); it(`should return object`, () => { - expect(typeof validateRegisterForm('test@mail.com', 'P@ssword1!')) - .toBe('object'); + expect(typeof validateRegisterForm("test@mail.com", "P@ssword1!")).toBe( + "object" + ); }); - it(`should return success message for the valid input`, () => { - const isValid = validateRegisterForm('test@mail.com', 'P@ssword1!'); + it(`success message for the valid input`, () => { + const isValid = validateRegisterForm("test@mail.com", "P@ssword1!"); expect(isValid.code).toBe(200); - expect(isValid.message).toBe('Email and password are valid.'); + expect(isValid.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'); + it(`email error for email with no english letters`, () => { + const isValid = validateRegisterForm("test@maєil.com", "P@ssword1!"); + + expect(isValid.code).toBe(422); + expect(isValid.message).toBe("Email is invalid."); + }); + + it(`success message for email with digits and characters`, () => { + const isValid = validateRegisterForm( + "Tf4st@m5hgil.co!^&%$5m.cj", + "P@ssword1!" + ); + + expect(isValid.code).toBe(200); + expect(isValid.message).toBe("Email and password are valid."); + }); + + it(`email error for email without @`, () => { + const isValid = validateRegisterForm("testmail.com", "P@ssword1!"); + + expect(isValid.code).toBe(422); + expect(isValid.message).toBe("Email is invalid."); + }); + + it(`email error for email with . at start`, () => { + const isValid = validateRegisterForm(".test@mail.com", "P@ssword1!"); + + expect(isValid.code).toBe(422); + expect(isValid.message).toBe("Email is invalid."); + }); + + it(`email error for email with double dots`, () => { + const isValid = validateRegisterForm("te..st@mail.com", "P@ssword1!"); + + expect(isValid.code).toBe(422); + expect(isValid.message).toBe("Email is invalid."); + }); + + it(`password error for valid email and password without number`, () => { + const invalidPassword = validateRegisterForm("test@mail.com", "P@ssword"); expect(invalidPassword.code).toBe(422); - expect(invalidPassword.message).toBe('Password is invalid.'); + expect(invalidPassword.message).toBe("Password is invalid."); }); - // write more tests here + it(`password error for valid email and password without character`, () => { + const invalidPassword = validateRegisterForm("test@mail.com", "Password1"); + + expect(invalidPassword.code).toBe(422); + expect(invalidPassword.message).toBe("Password is invalid."); + }); + + it(`password error for valid email and password without uppercase letter.`, () => { + const invalidPassword = validateRegisterForm("test@mail.com", "p@assword1"); + + expect(invalidPassword.code).toBe(422); + expect(invalidPassword.message).toBe("Password is invalid."); + }); + + it(`invalid password.length > 16`, () => { + const invalidPassword = validateRegisterForm( + "test@mail.com", + "P@sswordhjkkh2###" + ); + + expect(invalidPassword.code).toBe(422); + expect(invalidPassword.message).toBe("Password is invalid."); + }); + + it(`invalid password.length < 8`, () => { + const invalidPassword = validateRegisterForm("test@mail.com", "P@s2###"); + + expect(invalidPassword.code).toBe(422); + expect(invalidPassword.message).toBe("Password is invalid."); + }); + + it(`email error for email without dot in domain`, () => { + const isValid = validateRegisterForm("test@mailcom", "P@ssword1!"); + + expect(isValid.code).toBe(422); + expect(isValid.message).toBe("Email is invalid."); + }); + + it(`error message if password and email are invalid`, () => { + const isValid = validateRegisterForm("test@mailcom", "p@ssword1!"); + + expect(isValid.code).toBe(500); + expect(isValid.message).toBe("Password and email are invalid."); + }); }); From bfa8bbe2b45bc9614295c6427a78f2fe9fa92e3b Mon Sep 17 00:00:00 2001 From: SerhiiSemennikov Date: Sat, 1 Nov 2025 12:22:37 +0100 Subject: [PATCH 2/3] copy2 --- src/validateRegisterForm.test.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/validateRegisterForm.test.js b/src/validateRegisterForm.test.js index 7de99e4..5a880c3 100644 --- a/src/validateRegisterForm.test.js +++ b/src/validateRegisterForm.test.js @@ -109,4 +109,28 @@ describe(`Function 'validateRegisterForm':`, () => { expect(isValid.code).toBe(500); expect(isValid.message).toBe("Password and email are invalid."); }); + + it(`email error with dot at the start of top-level domain`, () => { + const isValid = validateRegisterForm("test@.mail.com", "P@ssword1!"); + + expect(isValid.code).toBe(422); + expect(isValid.message).toBe("Email is invalid."); + }); + + it(`success with an email that ends with a dot `, () => { + const isValid = validateRegisterForm("test@mail.com.", "P@ssword1!"); + + expect(isValid.code).toBe(200); + expect(isValid.message).toBe("Email and password are valid."); + }); + + it(`password with Cyrillic letters`, () => { + const invalidPassword = validateRegisterForm( + "test@mail.com", + "YЖ@sswыэъфйяord1" + ); + + expect(invalidPassword.code).toBe(200); + expect(invalidPassword.message).toBe("Email and password are valid."); + }); }); From 28fda1bccf645120bd743769c3c279a5b0470ff8 Mon Sep 17 00:00:00 2001 From: SerhiiSemennikov Date: Sat, 1 Nov 2025 16:03:37 +0100 Subject: [PATCH 3/3] copy3 --- src/validateRegisterForm.test.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/validateRegisterForm.test.js b/src/validateRegisterForm.test.js index 5a880c3..1005cb6 100644 --- a/src/validateRegisterForm.test.js +++ b/src/validateRegisterForm.test.js @@ -124,6 +124,13 @@ describe(`Function 'validateRegisterForm':`, () => { expect(isValid.message).toBe("Email and password are valid."); }); + it(`email error with the local-part(username) ends a dot before @ symbol`, () => { + const isValid = validateRegisterForm("test.@mail.com.", "P@ssword1!"); + + expect(isValid.code).toBe(422); + expect(isValid.message).toBe("Email is invalid."); + }); + it(`password with Cyrillic letters`, () => { const invalidPassword = validateRegisterForm( "test@mail.com",