Commit 503244eb authored by Douwe Maan's avatar Douwe Maan
Browse files

Fix specs

parent 31266c5b
Loading
Loading
Loading
Loading
+0 −1
Original line number Original line Diff line number Diff line
@@ -17,7 +17,6 @@ def down
  private
  private


  def allowed_visibility_level
  def allowed_visibility_level
    return 20
    application_settings = select_one("SELECT restricted_visibility_levels FROM application_settings ORDER BY id DESC LIMIT 1")
    application_settings = select_one("SELECT restricted_visibility_levels FROM application_settings ORDER BY id DESC LIMIT 1")
    if application_settings
    if application_settings
      restricted_visibility_levels = YAML.safe_load(application_settings["restricted_visibility_levels"]) rescue nil
      restricted_visibility_levels = YAML.safe_load(application_settings["restricted_visibility_levels"]) rescue nil
+2 −0
Original line number Original line Diff line number Diff line
@@ -5,6 +5,8 @@
class AddDefaultGroupVisibilityToApplicationSettings < ActiveRecord::Migration
class AddDefaultGroupVisibilityToApplicationSettings < ActiveRecord::Migration
  def up
  def up
    add_column :application_settings, :default_group_visibility, :integer
    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}")
    execute("UPDATE application_settings SET default_group_visibility = #{allowed_visibility_level}")
  end
  end


+11 −10
Original line number Original line Diff line number Diff line
@@ -26,33 +26,34 @@
    context "with a user" do
    context "with a user" do
      before do
      before do
        private_group.add_master(profile_owner)
        private_group.add_master(profile_owner)
        private_group.add_developer(profile_visitor)
        internal_group.add_master(profile_owner)
        internal_group.add_master(profile_owner)
        public_group.add_master(profile_owner)
        public_group.add_master(profile_owner)
      end
      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
        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])
          expect(finder.execute(profile_visitor)).to eq([public_group, internal_group, private_group])
        end
        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
        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 = 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
        end


        it 'shows group' do
        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
      end
      end


      context 'external users' do
      context 'external users' do
        before do
        before do
          profile_visitor.update_attributes(external: true)
          profile_visitor.update_attributes(external: true)
          public_group.add_master(profile_owner)
          internal_group.add_master(profile_owner)
        end
        end


        context 'if not a member' do
        context 'if not a member' do