Guest User

Untitled

a guest
Feb 19th, 2018
377
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.75 KB | None | 0 0
  1. def test_email
  2. # Check we cant create a user with an invalid e-mail address
  3. u = User.new
  4. u.password = u.password_confirmation = "Dummy001"
  5.  
  6. # Invalid e-mail addresses
  7. [ "", # Blank
  8. "example", # No @ or domain
  9. "example@", # No domain
  10. "example@example", # No dot or TLD
  11. "example@example.", # No TLD
  12. "@example.com", # No user name
  13. "example@example.123", # No TLD contains numbers
  14. ("a"*30) + "@" + ("b"*66) + ".com", # Too long - 101 Characters
  15. "ab@cd.com", # Too short - 9 Characters
  16. "example@@example.com", # Two @'s
  17. "example@!!!.com", # Invalid characters
  18. "example@example.!!!" # Invalid characters
  19. ].each do |s|
  20. u.email = s
  21. assert !u.save, "Save succeeded for invalid address: " + s
  22. assert u.errors.invalid?("email"), "Field (email) was not invalid: " + s
  23. end
  24.  
  25. # Valid e-mail addresses
  26. [ "example@example.com", # Basic e-mail address
  27. "example@example.co.uk", # Test of .co.uk
  28. "123@123.com", # Numbers are ok in user and domain names
  29. ("a"*30) + "@" + ("b"*65) + ".com", # Max Length - 100 Characters
  30. "abc@de.com" # Min Length - 10 Characters
  31. ].each do |s|
  32. u.email = s
  33. assert u.save, "Save failed for valid address: " + s
  34. end
  35. end
Add Comment
Please, Sign In to add comment