summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/views/shared/_label.html.haml10
-rw-r--r--spec/features/groups/labels/index_spec.rb17
2 files changed, 23 insertions, 4 deletions
diff --git a/app/views/shared/_label.html.haml b/app/views/shared/_label.html.haml
index 5eec7b02b54..e93925b5ef9 100644
--- a/app/views/shared/_label.html.haml
+++ b/app/views/shared/_label.html.haml
@@ -21,8 +21,9 @@
= sprite_icon('star-o')
%button.label-action.remove-priority.btn.btn-transparent.has-tooltip{ title: _('Remove priority'), type: 'button', data: { placement: 'top' }, aria_label: _('Deprioritize label') }
= sprite_icon('star')
+ - if can?(current_user, :admin_label, label)
%li.inline
- = link_to edit_label_path(label), class: 'btn btn-transparent label-action', aria_label: 'Edit label' do
+ = link_to edit_label_path(label), class: 'btn btn-transparent label-action edit', aria_label: 'Edit label' do
= sprite_icon('pencil')
%li.inline
.dropdown
@@ -42,9 +43,10 @@
container: 'body',
toggle: 'modal' } }
= _('Promote to group label')
- %li
- %span{ data: { toggle: 'modal', target: "#modal-delete-label-#{label.id}" } }
- %button.text-danger.remove-row{ type: 'button' }= _('Delete')
+ - if can?(current_user, :admin_label, label)
+ %li
+ %span{ data: { toggle: 'modal', target: "#modal-delete-label-#{label.id}" } }
+ %button.text-danger.remove-row{ type: 'button' }= _('Delete')
- if current_user
%li.inline.label-subscription
- if can_subscribe_to_label_in_different_levels?(label)
diff --git a/spec/features/groups/labels/index_spec.rb b/spec/features/groups/labels/index_spec.rb
new file mode 100644
index 00000000000..6c1b43a9013
--- /dev/null
+++ b/spec/features/groups/labels/index_spec.rb
@@ -0,0 +1,17 @@
+require 'spec_helper'
+
+feature 'Group labels' do
+ let(:user) { create(:user) }
+ let(:group) { create(:group) }
+ let!(:label) { create(:group_label, group: group) }
+
+ background do
+ group.add_owner(user)
+ sign_in(user)
+ visit group_labels_path(group)
+ end
+
+ scenario 'label has edit button', :js do
+ expect(page).to have_selector('.label-action.edit')
+ end
+end