Commit 349d6b03 authored by Sean McGivern's avatar Sean McGivern

Merge branch '59570-confidential-quick-action' into 'master'

Extract confidential quick action spec to a shared example

Closes #59570

See merge request gitlab-org/gitlab-ce!26913
parents a6569c31 8bf88876
...@@ -43,6 +43,7 @@ describe 'Issues > User uses quick actions', :js do ...@@ -43,6 +43,7 @@ describe 'Issues > User uses quick actions', :js do
describe 'issue-only commands' do describe 'issue-only commands' do
let(:user) { create(:user) } let(:user) { create(:user) }
let(:project) { create(:project, :public) } let(:project) { create(:project, :public) }
let(:issue) { create(:issue, project: project) }
before do before do
project.add_maintainer(user) project.add_maintainer(user)
...@@ -55,6 +56,8 @@ describe 'Issues > User uses quick actions', :js do ...@@ -55,6 +56,8 @@ describe 'Issues > User uses quick actions', :js do
wait_for_requests wait_for_requests
end end
it_behaves_like 'confidential quick action'
describe 'adding a due date from note' do describe 'adding a due date from note' do
let(:issue) { create(:issue, project: project) } let(:issue) { create(:issue, project: project) }
...@@ -137,42 +140,6 @@ describe 'Issues > User uses quick actions', :js do ...@@ -137,42 +140,6 @@ describe 'Issues > User uses quick actions', :js do
end end
end end
describe 'make issue confidential' do
let(:issue) { create(:issue, project: project) }
let(:original_issue) { create(:issue, project: project) }
context 'when the current user can update issues' do
it 'does not create a note, and marks the issue as confidential' do
add_note("/confidential")
expect(page).not_to have_content "/confidential"
expect(page).to have_content 'Commands applied'
expect(page).to have_content "made the issue confidential"
expect(issue.reload).to be_confidential
end
end
context 'when the current user cannot update the issue' do
let(:guest) { create(:user) }
before do
project.add_guest(guest)
gitlab_sign_out
sign_in(guest)
visit project_issue_path(project, issue)
end
it 'does not create a note, and does not mark the issue as confidential' do
add_note("/confidential")
expect(page).not_to have_content 'Commands applied'
expect(page).not_to have_content "made the issue confidential"
expect(issue.reload).not_to be_confidential
end
end
end
describe 'move the issue to another project' do describe 'move the issue to another project' do
let(:issue) { create(:issue, project: project) } let(:issue) { create(:issue, project: project) }
......
# frozen_string_literal: true # frozen_string_literal: true
shared_examples 'confidential quick action' do shared_examples 'confidential quick action' do
context 'when the current user can update issues' do
it 'does not create a note, and marks the issue as confidential' do
add_note('/confidential')
expect(page).not_to have_content '/confidential'
expect(page).to have_content 'Commands applied'
expect(page).to have_content 'made the issue confidential'
expect(issue.reload).to be_confidential
end
end
context 'when the current user cannot update the issue' do
let(:guest) { create(:user) }
before do
project.add_guest(guest)
gitlab_sign_out
sign_in(guest)
visit project_issue_path(project, issue)
end
it 'does not create a note, and does not mark the issue as confidential' do
add_note('/confidential')
expect(page).not_to have_content 'Commands applied'
expect(page).not_to have_content 'made the issue confidential'
expect(issue.reload).not_to be_confidential
end
end
end end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment