Skip to content
Open
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 65 additions & 1 deletion src/validateRegisterForm.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,69 @@ 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.');
});

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.');
});
});