diff options
Diffstat (limited to 'spec/models/user_spec.rb')
| -rw-r--r-- | spec/models/user_spec.rb | 58 |
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 |
