summaryrefslogtreecommitdiff
path: root/spec/features/issues/create_issue_for_single_discussion_in_merge_request_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/features/issues/create_issue_for_single_discussion_in_merge_request_spec.rb')
-rw-r--r--spec/features/issues/create_issue_for_single_discussion_in_merge_request_spec.rb22
1 files changed, 13 insertions, 9 deletions
diff --git a/spec/features/issues/create_issue_for_single_discussion_in_merge_request_spec.rb b/spec/features/issues/create_issue_for_single_discussion_in_merge_request_spec.rb
index 34beb282bad..9170f9295f0 100644
--- a/spec/features/issues/create_issue_for_single_discussion_in_merge_request_spec.rb
+++ b/spec/features/issues/create_issue_for_single_discussion_in_merge_request_spec.rb
@@ -1,11 +1,17 @@
require 'rails_helper'
-feature 'Resolve an open discussion in a merge request by creating an issue' do
+feature 'Resolve an open discussion in a merge request by creating an issue', :js do
let(:user) { create(:user) }
let(:project) { create(:project, :repository, only_allow_merge_if_all_discussions_are_resolved: true) }
let(:merge_request) { create(:merge_request, source_project: project) }
let!(:discussion) { create(:diff_note_on_merge_request, noteable: merge_request, project: project).to_discussion }
+ def resolve_discussion_selector
+ title = 'Resolve this discussion in a new issue'
+ url = new_project_issue_path(project, discussion_to_resolve: discussion.id, merge_request_to_resolve_discussions_of: merge_request.iid)
+ "a[data-original-title=\"#{title}\"][href=\"#{url}\"]"
+ end
+
describe 'As a user with access to the project' do
before do
project.add_master(user)
@@ -20,17 +26,17 @@ feature 'Resolve an open discussion in a merge request by creating an issue' do
end
it 'does not show a link to create a new issue' do
- expect(page).not_to have_link 'Resolve this discussion in a new issue'
+ expect(page).not_to have_css resolve_discussion_selector
end
end
- context 'resolving the discussion', :js do
+ context 'resolving the discussion' do
before do
click_button 'Resolve discussion'
end
it 'hides the link for creating a new issue' do
- expect(page).not_to have_link 'Resolve this discussion in a new issue'
+ expect(page).not_to have_css resolve_discussion_selector
end
it 'shows the link for creating a new issue when unresolving a discussion' do
@@ -38,19 +44,17 @@ feature 'Resolve an open discussion in a merge request by creating an issue' do
click_button 'Unresolve discussion'
end
- expect(page).to have_link 'Resolve this discussion in a new issue'
+ expect(page).to have_css resolve_discussion_selector
end
end
it 'has a link to create a new issue for a discussion' do
- new_issue_link = new_project_issue_path(project, discussion_to_resolve: discussion.id, merge_request_to_resolve_discussions_of: merge_request.iid)
-
- expect(page).to have_link 'Resolve this discussion in a new issue', href: new_issue_link
+ expect(page).to have_css resolve_discussion_selector
end
context 'creating the issue' do
before do
- click_link 'Resolve this discussion in a new issue', href: new_project_issue_path(project, discussion_to_resolve: discussion.id, merge_request_to_resolve_discussions_of: merge_request.iid)
+ find(resolve_discussion_selector).click
end
it 'has a hidden field for the discussion' do