Loading db/migrate/20160301124843_add_visibility_level_to_groups.rb +0 −1 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ def down 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 Loading db/migrate/20160308212903_add_default_group_visibility_to_application_settings.rb +2 −0 Original line number Diff line number Diff line Loading @@ -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 Loading spec/finders/joined_groups_finder_spec.rb +11 −10 Original line number Diff line number Diff line Loading @@ -26,33 +26,34 @@ 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 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 Loading Loading
db/migrate/20160301124843_add_visibility_level_to_groups.rb +0 −1 Original line number Diff line number Diff line Loading @@ -17,7 +17,6 @@ def down 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 Loading
db/migrate/20160308212903_add_default_group_visibility_to_application_settings.rb +2 −0 Original line number Diff line number Diff line Loading @@ -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 Loading
spec/finders/joined_groups_finder_spec.rb +11 −10 Original line number Diff line number Diff line Loading @@ -26,33 +26,34 @@ 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 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 Loading