Advertisement
Guest User

Untitled

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