4df0e2599b
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
34 lines
861 B
Ruby
34 lines
861 B
Ruby
# 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
|