summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/migrate/20160301124843_add_visibility_level_to_groups.rb1
-rw-r--r--db/migrate/20160308212903_add_default_group_visibility_to_application_settings.rb2
-rw-r--r--spec/finders/joined_groups_finder_spec.rb21
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