Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require File.dirname(__FILE__) + '/../spec_helper'
- describe "A new User" do
- it "should be created" do
- lambda{
- user = create_user
- user.should_not be_new_record
- }.should change(User,:count).by(1)
- end
- it "should require login" do
- lambda{
- u = create_user(:login => nil)
- u.should have_at_least(1).errors_on(:login)
- }.should_not change(User,:count)
- end
- it "should require password" do
- lambda{
- u = create_user(:password => nil)
- u.should have_at_least(1).errors_on(:password)
- }.should_not change(User,:count)
- end
- it "should require password confirmation" do
- lambda{
- u = create_user(:password_confirmation => nil)
- u.should have_at_least(1).errors_on(:password_confirmation)
- }.should_not change(User,:count)
- end
- it "should require email" do
- lambda{
- u = create_user(:email => nil)
- u.should have_at_least(1).errors_on(:email)
- }.should_not change(User,:count)
- end
- #it "should not be activated" do
- #u = create_user
- #u.should_not be_activated
- #end
- #it "should allow activation" do
- #u = create_user
- #u.should_not be_activated
- #u.activate
- #u.should be_activated
- #end
- it "should have many user roles" do
- User.reflect_on_association(:user_roles).should_not be_nil
- end
- it "should have many roles though user roles" do
- User.reflect_on_association(:roles).should_not be_nil
- end
- it "should know what role it has" do
- role = Role.create(:name=>'foo')
- user = create_user
- user.roles.add(role, user)
- user.should be_in_role('foo')
- end
- protected
- def create_user(options = {})
- User.create({ :login => 'nemo',
- :email => 'nemo@example.com',
- :password => 'nemo',
- :password_confirmation => 'nemo' }.merge(options))
- end
- end
- =begin describe "User with fixtures loaded" do
- fixtures :users
- it "should reset password" do
- users(:quentin).update_attributes(:password => 'new password', :password_confirmation => 'new password')
- users(:quentin).should == User.authenticate('quentin','new password')
- end
- it "should not rehash password" do
- users(:quentin).update_attributes(:login => 'quentin2')
- users(:quentin).should == User.authenticate('quentin2','test')
- end
- it "should authenticate user" do
- users(:quentin).should == User.authenticate('quentin','test')
- end
- it "should set remember token" do
- users(:quentin).remember_me
- users(:quentin).remember_token.should_not be_nil
- users(:quentin).remember_token_expires_at.should_not be_nil
- end
- it "should unset remember token" do
- users(:quentin).remember_me
- users(:quentin).remember_token.should_not be_nil
- users(:quentin).forget_me
- users(:quentin).remember_token.should be_nil
- end
- it "should remember me for one week" do
- before = 1.week.from_now.utc
- users(:quentin).remember_me_for 1.week
- after = 1.week.from_now.utc
- users(:quentin).remember_token.should_not be_nil
- users(:quentin).remember_token_expires_at.should_not be_nil
- users(:quentin).remember_token_expires_at.should be_between(before, after)
- end
- it "should remember me until one week" do
- time = 1.week.from_now.utc
- users(:quentin).remember_me_until time
- users(:quentin).remember_token.should_not be_nil
- users(:quentin).remember_token_expires_at.should_not be_nil
- users(:quentin).remember_token_expires_at.should == time
- end
- it "should remember me for two week by default" do
- before = 2.week.from_now.utc
- users(:quentin).remember_me
- after = 2.week.from_now.utc
- users(:quentin).remember_token.should_not be_nil
- users(:quentin).remember_token_expires_at.should_not be_nil
- users(:quentin).remember_token_expires_at.should be_between(before, after)
- end
- end
- =end
Add Comment
Please, Sign In to add comment