Create user model tests for is_active, unban, is_banned and is_new

This commit is contained in:
Drew Butler 2014-01-19 08:50:39 -06:00
parent 2cd248d122
commit 544a521c78
2 changed files with 35 additions and 0 deletions

View file

@ -32,4 +32,31 @@ describe User do
it "gets an error message after registering banned name" do
expect { User.make!(:username => "admin") }.to raise_error("Validation failed: Username is not permitted")
end
it "shows a user is banned or not" do
u = User.make!(:banned)
user = User.make!
u.is_banned?.should == true
user.is_banned?.should == false
end
it "shows a user is active or not" do
u = User.make!(:banned)
user = User.make!
u.is_active?.should == false
user.is_active?.should == true
end
it "shows a user is recent or not" do
user = User.make!(:created_at => Time.now)
u = User.make!(:created_at => Time.now - 8.days)
user.is_new?.should == true
u.is_new?.should == false
end
it "unbans a user" do
u = User.make!(:banned)
u.unban!.should be_true
end
end

View file

@ -7,6 +7,14 @@ User.blueprint do
username { "username#{sn}" }
end
User.blueprint(:banned) do
email { "banned-#{sn}@example.com" }
password { "blah blah" }
password_confirmation { object.password }
username { "username#{sn}" }
banned_at { Time.now }
end
Tag.blueprint do
tag { "tag-#{sn}" }
description { "tag #{sn}" }