2019-07-25 05:27:42 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2020-01-21 03:08:37 +00:00
|
|
|
RSpec.shared_examples 'creating an issue for a thread' do
|
2021-11-16 15:13:28 +00:00
|
|
|
it 'shows an issue creation form' do
|
|
|
|
# Title field is filled in
|
2016-12-22 12:31:12 +00:00
|
|
|
title_field = page.find_field('issue[title]')
|
|
|
|
expect(title_field.value).to include(merge_request.title)
|
|
|
|
|
2021-11-16 15:13:28 +00:00
|
|
|
# Has a hidden field for the merge request
|
|
|
|
merge_request_field = find('#merge_request_to_resolve_discussions_of', visible: false)
|
|
|
|
expect(merge_request_field.value).to eq(merge_request.iid.to_s)
|
2016-12-22 12:31:12 +00:00
|
|
|
|
2021-11-16 15:13:28 +00:00
|
|
|
# Has a mention of the discussion in the description
|
|
|
|
description_field = page.find_field('issue[description]')
|
2016-12-22 12:31:12 +00:00
|
|
|
expect(description_field.value).to include(discussion.first_note.note)
|
|
|
|
end
|
|
|
|
|
2021-11-16 15:13:28 +00:00
|
|
|
it 'creates a new issue for the project' do
|
|
|
|
# Actually creates an issue for the project
|
2021-03-30 06:09:35 +00:00
|
|
|
expect { click_button 'Create issue' }.to change { project.issues.reload.size }.by(1)
|
2016-12-22 12:31:12 +00:00
|
|
|
|
2021-11-16 15:13:28 +00:00
|
|
|
# Resolves the discussion in the merge request
|
2016-12-22 12:31:12 +00:00
|
|
|
discussion.first_note.reload
|
|
|
|
expect(discussion.resolved?).to eq(true)
|
2017-02-27 09:23:36 +00:00
|
|
|
|
2021-11-16 15:13:28 +00:00
|
|
|
# Issue title inludes MR title
|
|
|
|
expect(page).to have_content(%Q(Follow-up from "#{merge_request.title}"))
|
2017-02-27 09:23:36 +00:00
|
|
|
end
|
2016-12-22 12:31:12 +00:00
|
|
|
end
|