BigW Consortium Gitlab

groups_helper_spec.rb 2.36 KB
Newer Older
Dmitriy Zaporozhets committed
1 2 3 4
require 'spec_helper'

describe GroupsHelper do
  describe 'group_icon' do
5
    avatar_file_path = File.join(Rails.root, 'spec', 'fixtures', 'banana_sample.gif')
Dmitriy Zaporozhets committed
6

7
    it 'returns an url for the avatar' do
Dmitriy Zaporozhets committed
8 9 10 11
      group = create(:group)
      group.avatar = File.open(avatar_file_path)
      group.save!
      expect(group_icon(group.path).to_s).
12
        to match("/uploads/group/avatar/#{group.id}/banana_sample.gif")
Dmitriy Zaporozhets committed
13 14
    end

15
    it 'gives default avatar_icon when no avatar is present' do
Dmitriy Zaporozhets committed
16 17 18 19 20
      group = create(:group)
      group.save!
      expect(group_icon(group.path)).to match('group_avatar.png')
    end
  end
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83

  describe 'group_lfs_status' do
    let(:group) { create(:group) }
    let!(:project) { create(:empty_project, namespace_id: group.id) }

    before do
      allow(Gitlab.config.lfs).to receive(:enabled).and_return(true)
    end

    context 'only one project in group' do
      before do
        group.update_attribute(:lfs_enabled, true)
      end

      it 'returns all projects as enabled' do
        expect(group_lfs_status(group)).to include('Enabled for all projects')
      end

      it 'returns all projects as disabled' do
        project.update_attribute(:lfs_enabled, false)

        expect(group_lfs_status(group)).to include('Enabled for 0 out of 1 project')
      end
    end

    context 'more than one project in group' do
      before do
        create(:empty_project, namespace_id: group.id)
      end

      context 'LFS enabled in group' do
        before do
          group.update_attribute(:lfs_enabled, true)
        end

        it 'returns both projects as enabled' do
          expect(group_lfs_status(group)).to include('Enabled for all projects')
        end

        it 'returns only one as enabled' do
          project.update_attribute(:lfs_enabled, false)

          expect(group_lfs_status(group)).to include('Enabled for 1 out of 2 projects')
        end
      end

      context 'LFS disabled in group' do
        before do
          group.update_attribute(:lfs_enabled, false)
        end

        it 'returns both projects as disabled' do
          expect(group_lfs_status(group)).to include('Disabled for all projects')
        end

        it 'returns only one as disabled' do
          project.update_attribute(:lfs_enabled, true)

          expect(group_lfs_status(group)).to include('Disabled for 1 out of 2 projects')
        end
      end
    end
  end
Dmitriy Zaporozhets committed
84
end