From db33c0fb63d50e31751fb580d502de38ee665385 Mon Sep 17 00:00:00 2001 From: Tiago Botelho Date: Fri, 16 Jun 2017 12:28:49 +0100 Subject: Ensures default user limits when external user is unchecked --- spec/models/user_spec.rb | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'spec/models') diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index d5bd9946ab6..633f377a382 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -451,6 +451,38 @@ describe User, models: true do end end + describe '#ensure_user_rights_and_limits' do + describe 'with external user' do + let(:user) { create(:user, external: true) } + + it 'receives callback when external changes' do + expect(user).to receive(:ensure_user_rights_and_limits) + + user.update_attributes(external: false) + end + + it 'ensures correct rights and limits for user' do + expect { user.update_attributes(external: false) }.to change { user.can_create_group }.to(true) + .and change { user.projects_limit }.to(current_application_settings.default_projects_limit) + end + end + + describe 'without external user' do + let(:user) { create(:user, external: false) } + + it 'receives callback when external changes' do + expect(user).to receive(:ensure_user_rights_and_limits) + + user.update_attributes(external: true) + end + + it 'ensures correct rights and limits for user' do + expect { user.update_attributes(external: true) }.to change { user.can_create_group }.to(false) + .and change { user.projects_limit }.to(0) + end + end + end + describe 'rss token' do it 'ensures an rss token on read' do user = create(:user, rss_token: nil) -- cgit v1.2.1 From 4449f57ea627aa92e7f011a488c11285465057d2 Mon Sep 17 00:00:00 2001 From: Tiago Botelho Date: Mon, 19 Jun 2017 15:21:25 +0100 Subject: refactors user model validations --- spec/models/user_spec.rb | 2 ++ 1 file changed, 2 insertions(+) (limited to 'spec/models') diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 633f377a382..dbe75819663 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -462,6 +462,8 @@ describe User, models: true do end it 'ensures correct rights and limits for user' do + stub_config_setting(default_can_create_group: true) + expect { user.update_attributes(external: false) }.to change { user.can_create_group }.to(true) .and change { user.projects_limit }.to(current_application_settings.default_projects_limit) end -- cgit v1.2.1