summaryrefslogtreecommitdiff
path: root/spec/features
diff options
context:
space:
mode:
authorJan Provaznik <jprovaznik@gitlab.com>2019-05-28 10:05:20 +0000
committerLin Jen-Shin <godfat@godfat.org>2019-05-28 10:05:20 +0000
commit4df0e2599bc9bd7c50b6acea02278c1fb97d3ead (patch)
tree9ec579188c4fe083d71da187c64277e3337df22b /spec/features
parent2d12e22299114490385693a57666d658f0909da7 (diff)
downloadgitlab-ce-4df0e2599bc9bd7c50b6acea02278c1fb97d3ead.tar.gz
Fix display of promote to group label
Since label presenter is used in label index view, label class check doesn't work as expected because the class is now LabelPresenter. Also `label.subject` doesn't work as expected now because Label's model `subject` method is shadowed by Gitlab's presenter's method which uses `subject` for referencing the original object. Instead we use a presenter's method for both checks now. `label_deletion_confirm_text` is not used anywhere so it's removed
Diffstat (limited to 'spec/features')
-rw-r--r--spec/features/projects/labels/user_promotes_label_spec.rb34
-rw-r--r--spec/features/projects/labels/user_removes_labels_spec.rb5
2 files changed, 38 insertions, 1 deletions
diff --git a/spec/features/projects/labels/user_promotes_label_spec.rb b/spec/features/projects/labels/user_promotes_label_spec.rb
new file mode 100644
index 00000000000..fdecafd4c50
--- /dev/null
+++ b/spec/features/projects/labels/user_promotes_label_spec.rb
@@ -0,0 +1,34 @@
+# frozen_string_literal: true
+
+require 'spec_helper'
+
+describe 'User promotes label' do
+ set(:group) { create(:group) }
+ set(:user) { create(:user) }
+ set(:project) { create(:project, namespace: group) }
+ set(:label) { create(:label, project: project) }
+
+ context 'when user can admin group labels' do
+ before do
+ group.add_developer(user)
+ sign_in(user)
+ visit(project_labels_path(project))
+ end
+
+ it "shows label promote button" do
+ expect(page).to have_selector('.js-promote-project-label-button')
+ end
+ end
+
+ context 'when user cannot admin group labels' do
+ before do
+ project.add_developer(user)
+ sign_in(user)
+ visit(project_labels_path(project))
+ end
+
+ it "does not show label promote button" do
+ expect(page).not_to have_selector('.js-promote-project-label-button')
+ end
+ end
+end
diff --git a/spec/features/projects/labels/user_removes_labels_spec.rb b/spec/features/projects/labels/user_removes_labels_spec.rb
index b0ce03a1c31..c231e54decd 100644
--- a/spec/features/projects/labels/user_removes_labels_spec.rb
+++ b/spec/features/projects/labels/user_removes_labels_spec.rb
@@ -21,8 +21,11 @@ describe "User removes labels" do
page.first(".label-list-item") do
first('.js-label-options-dropdown').click
first(".remove-row").click
- first(:link, "Delete label").click
end
+
+ expect(page).to have_content("#{label.title} will be permanently deleted from #{project.name}. This cannot be undone.")
+
+ first(:link, "Delete label").click
end
expect(page).to have_content("Label was removed").and have_no_content(label.title)