summaryrefslogtreecommitdiff
path: root/spec/models/user_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/models/user_spec.rb')
-rw-r--r--spec/models/user_spec.rb58
1 files changed, 34 insertions, 24 deletions
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb
index ca34f07df7f..081767543e2 100644
--- a/spec/models/user_spec.rb
+++ b/spec/models/user_spec.rb
@@ -31,36 +31,46 @@ describe User do
it { should respond_to(:private_token) }
end
- it "should return valid identifier" do
- user = User.new(email: "test@mail.com")
- user.identifier.should == "test_mail_com"
- end
+ describe '#identifier' do
+ it "should return valid identifier" do
+ user = build(:user, email: "test@mail.com")
+ user.identifier.should == "test_mail_com"
+ end
- it "should return identifier without + sign" do
- user = User.new(email: "test+foo@mail.com")
- user.identifier.should == "test_foo_mail_com"
- end
+ it "should return identifier without + sign" do
+ user = build(:user, email: "test+foo@mail.com")
+ user.identifier.should == "test_foo_mail_com"
+ end
- it "should execute callback when force_random_password specified" do
- user = User.new(email: "test@mail.com", force_random_password: true)
- user.should_receive(:generate_password)
- user.save
+ it "should conform to Gitolite's required identifier pattern" do
+ user = build(:user, email: "_test@example.com")
+ user.identifier.should == 'test_example_com'
+ end
end
- it "should not generate password by default" do
- user = Factory(:user, password: 'abcdefg', password_confirmation: 'abcdefg')
- user.password.should == 'abcdefg'
- end
+ describe '#generate_password' do
+ it "should execute callback when force_random_password specified" do
+ user = build(:user, force_random_password: true)
+ user.should_receive(:generate_password)
+ user.save
+ end
+
+ it "should not generate password by default" do
+ user = create(:user, password: 'abcdefg')
+ user.password.should == 'abcdefg'
+ end
- it "should generate password when forcing random password" do
- Devise.stub(:friendly_token).and_return('123456789')
- user = User.create(email: "test1@mail.com", force_random_password: true)
- user.password.should == user.password_confirmation
- user.password.should == '12345678'
+ it "should generate password when forcing random password" do
+ Devise.stub(:friendly_token).and_return('123456789')
+ user = create(:user, password: 'abcdefg', force_random_password: true)
+ user.password.should == '12345678'
+ end
end
- it "should have authentication token" do
- user = Factory(:user)
- user.authentication_token.should_not == ""
+ describe 'authentication token' do
+ it "should have authentication token" do
+ user = Factory(:user)
+ user.authentication_token.should_not be_blank
+ end
end
end