changeset 7: | ac1024130232 |
author: | moriq@moriq.com |
date: | Wed Mar 05 03:57:54 2008 +0900 (16 years ago) |
permissions: | -rw-r--r-- |
description: | generate authenticated again. mercurial import したときに db/migrate lib が消えてた。orz |
1require File.dirname(__FILE__) + '/../test_helper'23class UserTest < Test::Unit::TestCase4 # Be sure to include AuthenticatedTestHelper in test/test_helper.rb instead.5 # Then, you can remove it from this and the functional test.6 include AuthenticatedTestHelper7 fixtures :users89 def test_should_create_user10 assert_difference 'User.count' do11 user = create_user12 assert !user.new_record?, "#{user.errors.full_messages.to_sentence}"13 end14 end1516 def test_should_require_login17 assert_no_difference 'User.count' do18 u = create_user(:login => nil)19 assert u.errors.on(:login)20 end21 end2223 def test_should_require_password24 assert_no_difference 'User.count' do25 u = create_user(:password => nil)26 assert u.errors.on(:password)27 end28 end2930 def test_should_require_password_confirmation31 assert_no_difference 'User.count' do32 u = create_user(:password_confirmation => nil)33 assert u.errors.on(:password_confirmation)34 end35 end3637 def test_should_require_email38 assert_no_difference 'User.count' do39 u = create_user(:email => nil)40 assert u.errors.on(:email)41 end42 end4344 def test_should_reset_password45 users(:quentin).update_attributes(:password => 'new password', :password_confirmation => 'new password')46 assert_equal users(:quentin), User.authenticate('quentin', 'new password')47 end4849 def test_should_not_rehash_password50 users(:quentin).update_attributes(:login => 'quentin2')51 assert_equal users(:quentin), User.authenticate('quentin2', 'test')52 end5354 def test_should_authenticate_user55 assert_equal users(:quentin), User.authenticate('quentin', 'test')56 end5758 def test_should_set_remember_token59 users(:quentin).remember_me60 assert_not_nil users(:quentin).remember_token61 assert_not_nil users(:quentin).remember_token_expires_at62 end6364 def test_should_unset_remember_token65 users(:quentin).remember_me66 assert_not_nil users(:quentin).remember_token67 users(:quentin).forget_me68 assert_nil users(:quentin).remember_token69 end7071 def test_should_remember_me_for_one_week72 before = 1.week.from_now.utc73 users(:quentin).remember_me_for 1.week74 after = 1.week.from_now.utc75 assert_not_nil users(:quentin).remember_token76 assert_not_nil users(:quentin).remember_token_expires_at77 assert users(:quentin).remember_token_expires_at.between?(before, after)78 end7980 def test_should_remember_me_until_one_week81 time = 1.week.from_now.utc82 users(:quentin).remember_me_until time83 assert_not_nil users(:quentin).remember_token84 assert_not_nil users(:quentin).remember_token_expires_at85 assert_equal users(:quentin).remember_token_expires_at, time86 end8788 def test_should_remember_me_default_two_weeks89 before = 2.weeks.from_now.utc90 users(:quentin).remember_me91 after = 2.weeks.from_now.utc92 assert_not_nil users(:quentin).remember_token93 assert_not_nil users(:quentin).remember_token_expires_at94 assert users(:quentin).remember_token_expires_at.between?(before, after)95 end9697protected98 def create_user(options = {})99 User.create({ :login => 'quire', :email => 'quire@example.com', :password => 'quire', :password_confirmation => 'quire' }.merge(options))100 end101end