diff options
author | Douwe Maan <douwe@selenight.nl> | 2016-03-22 00:23:58 +0100 |
---|---|---|
committer | Douwe Maan <douwe@selenight.nl> | 2016-03-22 00:23:58 +0100 |
commit | 503244eb9638bb141e3883d40281d7188fe8c02e (patch) | |
tree | 8d903905022ad537aa46aee7cd0b7f8f239aa23e | |
parent | 31266c5be4748f57a7d56bbcc6f06d570cbf5356 (diff) | |
download | gitlab-ce-issue_12658.tar.gz |
Fix specsissue_12658
3 files changed, 13 insertions, 11 deletions
diff --git a/db/migrate/20160301124843_add_visibility_level_to_groups.rb b/db/migrate/20160301124843_add_visibility_level_to_groups.rb index 8121a0c6f90..d1b921bb208 100644 --- a/db/migrate/20160301124843_add_visibility_level_to_groups.rb +++ b/db/migrate/20160301124843_add_visibility_level_to_groups.rb @@ -17,7 +17,6 @@ class AddVisibilityLevelToGroups < ActiveRecord::Migration private def allowed_visibility_level - return 20 application_settings = select_one("SELECT restricted_visibility_levels FROM application_settings ORDER BY id DESC LIMIT 1") if application_settings restricted_visibility_levels = YAML.safe_load(application_settings["restricted_visibility_levels"]) rescue nil diff --git a/db/migrate/20160308212903_add_default_group_visibility_to_application_settings.rb b/db/migrate/20160308212903_add_default_group_visibility_to_application_settings.rb index 37179926d42..75de5f70fa2 100644 --- a/db/migrate/20160308212903_add_default_group_visibility_to_application_settings.rb +++ b/db/migrate/20160308212903_add_default_group_visibility_to_application_settings.rb @@ -5,6 +5,8 @@ class AddDefaultGroupVisibilityToApplicationSettings < ActiveRecord::Migration def up add_column :application_settings, :default_group_visibility, :integer + # Unfortunately, this can't be a `default`, since we don't want the configuration specific + # `allowed_visibility_level` to end up in schema.rb execute("UPDATE application_settings SET default_group_visibility = #{allowed_visibility_level}") end diff --git a/spec/finders/joined_groups_finder_spec.rb b/spec/finders/joined_groups_finder_spec.rb index 66a250f9dd1..f90a8e007c8 100644 --- a/spec/finders/joined_groups_finder_spec.rb +++ b/spec/finders/joined_groups_finder_spec.rb @@ -26,33 +26,34 @@ describe JoinedGroupsFinder do context "with a user" do before do private_group.add_master(profile_owner) - private_group.add_developer(profile_visitor) internal_group.add_master(profile_owner) public_group.add_master(profile_owner) end - it 'only shows groups where both users are authorized to see' do - expect(finder.execute(profile_visitor)).to eq([public_group, internal_group, private_group]) + context "when the profile visitor is in the private group" do + before do + private_group.add_developer(profile_visitor) + end + + it 'only shows groups where both users are authorized to see' do + expect(finder.execute(profile_visitor)).to eq([public_group, internal_group, private_group]) + end end - context 'if profile visitor is in one of its projects' do + context 'if profile visitor is in one of the private group projects' do before do - public_group.add_master(profile_owner) - private_group.add_master(profile_owner) project = create(:project, :private, group: private_group, name: 'B', path: 'B') - project.team.add_developer(profile_visitor) + project.team.add_user(profile_visitor, Gitlab::Access::DEVELOPER) end it 'shows group' do - expect(finder.execute(profile_visitor)).to eq([public_group, private_group]) + expect(finder.execute(profile_visitor)).to eq([public_group, internal_group, private_group]) end end context 'external users' do before do profile_visitor.update_attributes(external: true) - public_group.add_master(profile_owner) - internal_group.add_master(profile_owner) end context 'if not a member' do |