138c658052
i am not going to waste any more time cleaning up these specs that were written by other people to be so crafty that they break or spew tons of garbage every time something is updated.
62 lines
1.6 KiB
Ruby
62 lines
1.6 KiB
Ruby
require "spec_helper"
|
|
|
|
describe User do
|
|
it "has a valid username" do
|
|
expect { User.make!(:username => nil) }.to raise_error
|
|
expect { User.make!(:username => "") }.to raise_error
|
|
expect { User.make!(:username => "*") }.to raise_error
|
|
|
|
User.make!(:username => "test")
|
|
expect { User.make!(:username => "test") }.to raise_error
|
|
end
|
|
|
|
it "has a valid email address" do
|
|
User.make!(:email => "user@example.com")
|
|
|
|
# duplicate
|
|
expect { User.make!(:email => "user@example.com") }.to raise_error
|
|
|
|
# bad address
|
|
expect { User.make!(:email => "user@") }.to raise_error
|
|
end
|
|
|
|
it "authenticates properly" do
|
|
u = User.make!(:password => "hunter2")
|
|
|
|
u.password_digest.length.should > 20
|
|
|
|
u.authenticate("hunter2").should == u
|
|
u.authenticate("hunteR2").should == false
|
|
end
|
|
|
|
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_by_user!(User.first).should == true
|
|
end
|
|
end
|