diff options
author | Jan Provaznik <jprovaznik@gitlab.com> | 2019-05-28 10:05:20 +0000 |
---|---|---|
committer | Lin Jen-Shin <godfat@godfat.org> | 2019-05-28 10:05:20 +0000 |
commit | 4df0e2599bc9bd7c50b6acea02278c1fb97d3ead (patch) | |
tree | 9ec579188c4fe083d71da187c64277e3337df22b /spec/features | |
parent | 2d12e22299114490385693a57666d658f0909da7 (diff) | |
download | gitlab-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.rb | 34 | ||||
-rw-r--r-- | spec/features/projects/labels/user_removes_labels_spec.rb | 5 |
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) |