summaryrefslogtreecommitdiff
path: root/spec/lib/gitlab/ci/pipeline/chain/validate/abilities_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/lib/gitlab/ci/pipeline/chain/validate/abilities_spec.rb')
-rw-r--r--spec/lib/gitlab/ci/pipeline/chain/validate/abilities_spec.rb39
1 files changed, 29 insertions, 10 deletions
diff --git a/spec/lib/gitlab/ci/pipeline/chain/validate/abilities_spec.rb b/spec/lib/gitlab/ci/pipeline/chain/validate/abilities_spec.rb
index 9e217102886..e6decde475a 100644
--- a/spec/lib/gitlab/ci/pipeline/chain/validate/abilities_spec.rb
+++ b/spec/lib/gitlab/ci/pipeline/chain/validate/abilities_spec.rb
@@ -1,22 +1,41 @@
require 'spec_helper'
describe Gitlab::Ci::Pipeline::Chain::Validate::Abilities do
- describe '#allowed_to_create?' do
- let(:user) { create(:user) }
- let(:project) { create(:project, :repository) }
- let(:ref) { 'master' }
+ set(:project) { create(:project, :repository) }
+ set(:user) { create(:user) }
+
+ let(:pipeline) do
+ build_stubbed(:ci_pipeline, ref: ref, project: project)
+ end
+
+ let(:command) do
+ double('command', project: project, current_user: user)
+ end
+
+ let(:step) { described_class.new(pipeline, command) }
- let(:pipeline) do
- build_stubbed(:ci_pipeline, ref: ref, project: project)
+ let(:ref) { 'master' }
+
+ context 'when users has no ability to run a pipeline' do
+ before do
+ step.perform!
end
- let(:command) do
- double('command', project: project, current_user: user)
+ it 'adds an error about insufficient permissions' do
+ expect(pipeline.errors.to_a)
+ .to include /Insufficient permissions/
end
- subject do
- described_class.new(pipeline, command).allowed_to_create?
+ it 'breaks the pipeline builder chain' do
+ expect(step.break?).to eq true
end
+ end
+
+ context 'when user has ability to create a pipeline' do
+ end
+
+ describe '#allowed_to_create?' do
+ subject { step.allowed_to_create? }
context 'when user is a developer' do
before do