Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def test_email
- # Check we cant create a user with an invalid e-mail address
- u = User.new
- u.password = u.password_confirmation = "Dummy001"
- # Invalid e-mail addresses
- [ "", # Blank
- "example", # No @ or domain
- "example@", # No domain
- "example@example", # No dot or TLD
- "example@example.", # No TLD
- "@example.com", # No user name
- "example@example.123", # No TLD contains numbers
- ("a"*30) + "@" + ("b"*66) + ".com", # Too long - 101 Characters
- "ab@cd.com", # Too short - 9 Characters
- "example@@example.com", # Two @'s
- "example@!!!.com", # Invalid characters
- "example@example.!!!" # Invalid characters
- ].each do |s|
- u.email = s
- assert !u.save, "Save succeeded for invalid address: " + s
- assert u.errors.invalid?("email"), "Field (email) was not invalid: " + s
- end
- # Valid e-mail addresses
- [ "example@example.com", # Basic e-mail address
- "example@example.co.uk", # Test of .co.uk
- "123@123.com", # Numbers are ok in user and domain names
- ("a"*30) + "@" + ("b"*65) + ".com", # Max Length - 100 Characters
- "abc@de.com" # Min Length - 10 Characters
- ].each do |s|
- u.email = s
- assert u.save, "Save failed for valid address: " + s
- end
- end
Add Comment
Please, Sign In to add comment