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

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKamil Trzciński <ayufan@ayufan.eu>2018-12-30 13:54:08 +0300
committerKamil Trzciński <ayufan@ayufan.eu>2018-12-30 13:54:08 +0300
commitc07bf1abf2a5c3751e575ee5926e9a052fa0b341 (patch)
tree6015d25af837f2269352e4d43477ea2f67e800ff /spec/support
parente962baf4417e59cbb2ef8621ef0662f93f180f92 (diff)
parent01ed3a1511be5d2076b5f602839ca0046055dd8b (diff)
Merge branch '34758-extend-can-create-cluster-logic' into 'master'
Allow user to add cluster when there are ancestor clusters See merge request gitlab-org/gitlab-ce!23569
Diffstat (limited to 'spec/support')
-rw-r--r--spec/support/shared_examples/policies/clusterable_shared_examples.rb37
1 files changed, 37 insertions, 0 deletions
diff --git a/spec/support/shared_examples/policies/clusterable_shared_examples.rb b/spec/support/shared_examples/policies/clusterable_shared_examples.rb
new file mode 100644
index 00000000000..d99f94c76c3
--- /dev/null
+++ b/spec/support/shared_examples/policies/clusterable_shared_examples.rb
@@ -0,0 +1,37 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+shared_examples 'clusterable policies' do
+ describe '#add_cluster?' do
+ let(:current_user) { create(:user) }
+
+ subject { described_class.new(current_user, clusterable) }
+
+ context 'with a developer' do
+ before do
+ clusterable.add_developer(current_user)
+ end
+
+ it { expect_disallowed(:add_cluster) }
+ end
+
+ context 'with a maintainer' do
+ before do
+ clusterable.add_maintainer(current_user)
+ end
+
+ context 'with no clusters' do
+ it { expect_allowed(:add_cluster) }
+ end
+
+ context 'with an existing cluster' do
+ before do
+ cluster
+ end
+
+ it { expect_disallowed(:add_cluster) }
+ end
+ end
+ end
+end