Skip to content

mate-academy/js_check_the_form

Repository files navigation

QA: Validate form

Write tests for the function validateRegisterForm, which takes two strings password and email, and returns an object with a response that contain status code and message.

If all entered data is valid object contains status code 200 and message Email and password are valid..
If entered email is invalid object contains status code 422 and message Email is invalid..
If entered password is invalid object contains status code 422 and message Password is invalid..
If entered password and email are invalid object contains status code 500 and message Password and email are invalid..

Requirements for the valid password:

  • accepts letters Aa-Zz, Aa-Яя;
  • at least 8 characters inclusive;
  • maximum 16 characters inclusive;
  • contains at least 1 digit, 1 special character, 1 uppercase letter.

Requirements for the valid email:

  • English letters(Aa-Zz).
  • Digits.
  • Characters: ! # $ % & ' * + - / = ? ^ _ ` { | } ~
  • Character . ( period, dot or fullstop) provided that it is not the first or last character and it will not come one after the other.
  • @ is required
  • top Level domain can not start with dot .
  • top level domain can not start with dot .
  • an email should not be start with .
  • double dots are not allowed

The function does not check the uniqueness of the email and length of email (it made by another functions).

Examples:

validateRegisterForm('test@mail.com', 'P@ssword1!') === { code: 200, message: 'Email and password are valid.', }
validateRegisterForm('test@mail.com', 'P@ssword') === { code: 422, message: 'Password is invalid.', }
validateRegisterForm('test@com', 'P@ssword1') === { code: 422, message: 'Email is invalid.', }
validateRegisterForm('test@com', 'ssword1') === { code: 500, message: 'Password and email are invalid.', }

Hint: focus on the most priority and realistic cases, do not focus on edge cases.


About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •