summaryrefslogtreecommitdiff
path: root/spec/helpers/groups_helper.rb
blob: 01ec9e5a07f2a0f40ec6ee391dc4110a32e3ea4d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
require 'spec_helper'

describe GroupsHelper do
  describe 'group_icon' do
    avatar_file_path = File.join(Rails.root, 'spec', 'fixtures', 'banana_sample.gif')

    it 'should return an url for the avatar' do
      group = create(:group)
      group.avatar = File.open(avatar_file_path)
      group.save!
      expect(group_icon(group.path).to_s).
        to match("/uploads/group/avatar/#{group.id}/banana_sample.gif")
    end

    it 'should give default avatar_icon when no avatar is present' do
      group = create(:group)
      group.save!
      expect(group_icon(group.path)).to match('group_avatar.png')
    end
  end

  describe 'permissions' do
    let(:group) { create(:group) }
    let!(:user)  { create(:user) }

    before do
      allow(self).to receive(:current_user).and_return(user)
      allow(self).to receive(:can?) { true }
    end

    it 'checks user ability to change permissions' do
      expect(self).to receive(:can?).with(user, :change_visibility_level, group)
      can_change_group_visibility_level?(group)
    end
  end
end