Welcome to mirror list, hosted at ThFree Co, Russian Federation.

artifacts_helper_spec.rb « helpers « spec - gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 30f9421954e02c846f7a8567f060c7775985bb16 (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
# frozen_string_literal: true

require "spec_helper"

RSpec.describe ArtifactsHelper, feature_category: :build_artifacts do
  let_it_be(:user) { build_stubbed(:user) }
  let_it_be(:project) { build_stubbed(:project) }

  describe '#artifacts_app_data' do
    before do
      allow(helper).to receive(:current_user) { user }
      allow(helper).to receive(:can?).with(user, :destroy_artifacts, project).and_return(false)
    end

    subject { helper.artifacts_app_data(project) }

    it 'returns expected data' do
      expect(subject).to include({
        project_path: project.full_path,
        project_id: project.id
      })
    end

    describe 'can_destroy_artifacts' do
      it 'returns false without permission' do
        expect(subject[:can_destroy_artifacts]).to eq('false')
      end

      it 'returns true when user has permission' do
        allow(helper).to receive(:can?).with(user, :destroy_artifacts, project).and_return(true)

        expect(subject[:can_destroy_artifacts]).to eq('true')
      end
    end
  end
end