summaryrefslogtreecommitdiff
path: root/spec/policies/integration_policy_spec.rb
blob: d490045c1e1d5508ad51b454036a62c5820064e1 (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
# frozen_string_literal: true

require 'spec_helper'

RSpec.describe IntegrationPolicy, :models do
  let_it_be(:user) { create(:user) }

  let(:project) { integration.project }

  subject(:policy) { Ability.policy_for(user, integration) }

  context 'when the integration is a prometheus_service' do
    let(:integration) { create(:prometheus_service) }

    describe 'rules' do
      it { is_expected.to be_disallowed :admin_project }

      context 'when maintainer' do
        before do
          project.add_maintainer(user)
        end

        it { is_expected.to be_allowed :admin_project }
      end
    end
  end
end