Advertisement
Guest User

Untitled

a guest
Jul 10th, 2017
506
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 2.20 KB | None | 0 0
  1. require 'test_helper'
  2.  
  3. class UserTest < ActiveSupport::TestCase
  4.   # test "the truth" do
  5.   #   assert true
  6.   # end
  7.   def setup
  8.     @user = User.new(name: "Example User", email: "user@example.com",
  9.                      password: "foobar", password_confirmation: "foobar")
  10.   end
  11.  
  12.   test "should be valid" do
  13.     assert @user.valid?
  14.   end
  15.  
  16.   test "name should be present" do
  17.     @user.name = "     "
  18.     assert_not @user.valid?
  19.   end
  20.  
  21.   test "email should be present" do
  22.     @user.email = "     "
  23.     assert_not @user.valid?
  24.   end
  25.  
  26.   test "name should be too long" do
  27.     @user.name = "a" * 51
  28.     assert_not @user.valid?
  29.   end
  30.  
  31.   test "email should be too long" do
  32.     @user.email = "a" * 244 + "@example.com"
  33.     assert_not @user.valid?
  34.   end
  35.  
  36.   test "email validation should accept valid addresses" do
  37.     valid_addresses = %w[user@example.com USER@foo.COM A_US-ER@foo.bar.org
  38.                          first.last@foo.jp alice+bob@baz.cn]
  39.     valid_addresses.each do |valid_address|
  40.       @user.email = valid_address
  41.       assert @user.valid?, "#{valid_address.inspect} should be valid"
  42.     end
  43.   end
  44.  
  45.   test "email validation should reject invalid addresses" do
  46.     invalid_addresses = %w[user@example,com user_at_foo.org user.name@example.
  47.                            foo@bar_baz.com foo@bar+baz.com]
  48.     invalid_addresses.each do |invalid_address|
  49.       @user.email = invalid_address
  50.       assert_not @user.valid?, "#{invalid_address.inspect} should be invalid"
  51.     end
  52.   end
  53.  
  54.   test "email addresses should be unique" do
  55.     duplicate_user = @user.dup
  56.     duplicate_user.email = @user.email.upcase
  57.     @user.save
  58.     assert_not duplicate_user.valid?
  59.   end
  60.  
  61.   test "email addresses should be saved as lower-case" do
  62.     mixed_case_email = "Foo@ExAMPle.CoM"
  63.     @user.email = mixed_case_email
  64.     @user.save
  65.     assert_equal mixed_case_email.downcase, @user.reload.email
  66.   end
  67.  
  68.   test "password should be present (nonblank)" do
  69.     @user.password = @user.password_confirmation = " " * 6
  70.     assert_not @user.valid?
  71.   end
  72.  
  73.   test "password should have a minimum length" do
  74.     @user.password = @user.password_confirmation = "a" * 5
  75.     assert_not @user.valid?
  76.   end
  77.  
  78.  
  79. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement