summaryrefslogtreecommitdiff
path: root/spec/finders/issues_finder/params_spec.rb
blob: 879ecc364a2c62af249164b7a45f4faa53d31e05 (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
37
38
39
40
41
42
43
44
45
46
47
48
49
# frozen_string_literal: true

require 'spec_helper'

RSpec.describe IssuesFinder::Params do
  describe '#include_hidden' do
    subject { described_class.new(params, user, IssuesFinder) }

    context 'when param is not set' do
      let(:params) { {} }

      context 'with an admin', :enable_admin_mode do
        let(:user) { create(:user, :admin) }

        it 'returns true' do
          expect(subject.include_hidden?).to be_truthy
        end
      end

      context 'with a regular user' do
        let(:user) { create(:user) }

        it 'returns false' do
          expect(subject.include_hidden?).to be_falsey
        end
      end
    end

    context 'when param is set' do
      let(:params) { { include_hidden: true } }

      context 'with an admin', :enable_admin_mode do
        let(:user) { create(:user, :admin) }

        it 'returns true' do
          expect(subject.include_hidden?).to be_truthy
        end
      end

      context 'with a regular user' do
        let(:user) { create(:user) }

        it 'returns false' do
          expect(subject.include_hidden?).to be_falsey
        end
      end
    end
  end
end