summaryrefslogtreecommitdiff
path: root/spec/models/user_spec.rb
diff options
context:
space:
mode:
authorIzaak Alpert <ialpert@blackberry.com>2013-08-15 17:43:46 -0400
committerIzaak Alpert <ialpert@blackberry.com>2013-09-11 14:04:15 -0400
commit5dae40f579f66fdc060de633b183ede7bd8b2ce4 (patch)
treef4f6669cb1e4d035eb89de116fb3d9ab1f596136 /spec/models/user_spec.rb
parentd4d4a78f834b409631b012aa555c0cb2c4e3166d (diff)
downloadgitlab-ce-5dae40f579f66fdc060de633b183ede7bd8b2ce4.tar.gz
Update to only provide one way to get a default user
-calling build_user will now apply defaults and only override them if as: :admin is set Change-Id: Id1d938c0967752ecc14370af54f2d88128d18c44
Diffstat (limited to 'spec/models/user_spec.rb')
-rw-r--r--spec/models/user_spec.rb72
1 files changed, 53 insertions, 19 deletions
diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb
index d79d2b82b6a..330d22cf962 100644
--- a/spec/models/user_spec.rb
+++ b/spec/models/user_spec.rb
@@ -196,29 +196,63 @@ describe User do
it { User.not_in_project(@project).should include(@user, @project.owner) }
end
- describe 'normal user' do
- let(:user) { create(:user, name: 'John Smith') }
+ describe 'user creation' do
+ describe 'normal user' do
+ let(:user) { create(:user, name: 'John Smith') }
- it { user.is_admin?.should be_false }
- it { user.require_ssh_key?.should be_true }
- it { user.can_create_group?.should be_true }
- it { user.can_create_project?.should be_true }
- it { user.first_name.should == 'John' }
- end
+ it { user.is_admin?.should be_false }
+ it { user.require_ssh_key?.should be_true }
+ it { user.can_create_group?.should be_true }
+ it { user.can_create_project?.should be_true }
+ it { user.first_name.should == 'John' }
+ end
- describe 'without defaults' do
- let(:user) { User.new }
- it "should not apply defaults to user" do
- user.projects_limit.should == 10
- user.can_create_group.should == true
+ describe 'without defaults' do
+ let(:user) { User.new }
+ it "should not apply defaults to user" do
+ user.projects_limit.should == 10
+ user.can_create_group.should be_true
+ user.theme_id.should == Gitlab::Theme::BASIC
+ end
end
- end
+ context 'as admin' do
+ describe 'with defaults' do
+ let(:user) { User.build_user({}, as: :admin) }
+ it "should apply defaults to user" do
+ user.projects_limit.should == 42
+ user.can_create_group.should be_false
+ user.theme_id.should == Gitlab::Theme::BASIC
+ end
+ end
+
+ describe 'with default overrides' do
+ let(:user) { User.build_user({projects_limit: 123, can_create_group: true, can_create_team: true, theme_id: Gitlab::Theme::MARS}, as: :admin) }
+ it "should apply defaults to user" do
+ user.projects_limit.should == 123
+ user.can_create_group.should be_true
+ user.theme_id.should == Gitlab::Theme::MARS
+ end
+ end
+ end
+
+ context 'as user' do
+ describe 'with defaults' do
+ let(:user) { User.build_user }
+ it "should apply defaults to user" do
+ user.projects_limit.should == 42
+ user.can_create_group.should be_false
+ user.theme_id.should == Gitlab::Theme::BASIC
+ end
+ end
- describe 'with defaults' do
- let(:user) { User.new.with_defaults }
- it "should apply defaults to user" do
- user.projects_limit.should == 42
- user.can_create_group.should == false
+ describe 'with default overrides' do
+ let(:user) { User.build_user(projects_limit: 123, can_create_group: true, theme_id: Gitlab::Theme::MARS) }
+ it "should apply defaults to user" do
+ user.projects_limit.should == 42
+ user.can_create_group.should be_false
+ user.theme_id.should == Gitlab::Theme::BASIC
+ end
+ end
end
end