debian-mirror-gitlab/spec/features/merge_request/user_resolves_diff_notes_and_discussions_resolve_spec.rb

573 lines
18 KiB
Ruby
Raw Normal View History

2019-10-12 21:52:04 +05:30
# frozen_string_literal: true
2019-12-04 20:38:33 +05:30
require 'spec_helper'
2016-09-13 17:45:13 +05:30
2020-06-23 00:09:42 +05:30
RSpec.describe 'Merge request > User resolves diff notes and threads', :js do
2017-09-10 17:25:29 +05:30
let(:project) { create(:project, :public, :repository) }
2018-03-17 18:26:18 +05:30
let(:user) { project.creator }
let(:guest) { create(:user) }
2016-09-13 17:45:13 +05:30
let(:merge_request) { create(:merge_request_with_diffs, source_project: project, author: user, title: "Bug NS-04") }
2018-05-09 12:01:36 +05:30
let!(:note) { create(:diff_note_on_merge_request, project: project, noteable: merge_request, note: "| Markdown | Table |\n|-------|---------|\n| first | second |") }
2016-09-13 17:45:13 +05:30
let(:path) { "files/ruby/popen.rb" }
let(:position) do
2020-03-13 15:44:24 +05:30
build(:text_diff_position,
file: path, old_line: nil, new_line: 9,
diff_refs: merge_request.diff_refs)
2016-09-13 17:45:13 +05:30
end
2019-09-30 21:07:59 +05:30
context 'no threads' do
2016-09-13 17:45:13 +05:30
before do
2018-11-18 11:00:15 +05:30
project.add_maintainer(user)
2018-03-17 18:26:18 +05:30
sign_in(user)
2020-10-24 23:57:45 +05:30
note.destroy!
2016-09-13 17:45:13 +05:30
visit_merge_request
end
2019-09-30 21:07:59 +05:30
it 'displays no thread resolved data' do
expect(page).not_to have_content('thread resolved')
2016-09-13 17:45:13 +05:30
expect(page).not_to have_selector('.discussion-next-btn')
end
end
context 'as authorized user' do
before do
2018-11-18 11:00:15 +05:30
project.add_maintainer(user)
2018-03-17 18:26:18 +05:30
sign_in(user)
2016-09-13 17:45:13 +05:30
visit_merge_request
end
2019-09-30 21:07:59 +05:30
context 'single thread' do
it 'shows text with how many threads' do
2016-09-13 17:45:13 +05:30
page.within '.line-resolve-all-container' do
2020-05-24 23:13:21 +05:30
expect(page).to have_content('1 unresolved thread')
2016-09-13 17:45:13 +05:30
end
end
it 'allows user to mark a note as resolved' do
page.within '.diff-content .note' do
find('.line-resolve-btn').click
expect(page).to have_selector('.line-resolve-btn.is-active')
2019-02-15 15:39:39 +05:30
expect(find('.line-resolve-btn')['aria-label']).to eq("Resolved by #{user.name}")
2016-09-13 17:45:13 +05:30
end
page.within '.diff-content' do
2019-09-30 21:07:59 +05:30
expect(page).to have_selector('.btn', text: 'Unresolve thread')
2016-09-13 17:45:13 +05:30
end
page.within '.line-resolve-all-container' do
2020-05-24 23:13:21 +05:30
expect(page).to have_content('All threads resolved')
2016-09-13 17:45:13 +05:30
expect(page).to have_selector('.line-resolve-btn.is-active')
end
end
2019-09-30 21:07:59 +05:30
it 'allows user to mark thread as resolved' do
2016-09-13 17:45:13 +05:30
page.within '.diff-content' do
2021-04-29 21:17:54 +05:30
find('button[data-qa-selector="resolve_discussion_button"]').click
2016-09-13 17:45:13 +05:30
end
2018-03-17 18:26:18 +05:30
expect(page).to have_selector('.discussion-body', visible: false)
2016-09-13 17:45:13 +05:30
page.within '.diff-content .note' do
expect(page).to have_selector('.line-resolve-btn.is-active')
end
page.within '.line-resolve-all-container' do
2020-05-24 23:13:21 +05:30
expect(page).to have_content('All threads resolved')
2016-09-13 17:45:13 +05:30
expect(page).to have_selector('.line-resolve-btn.is-active')
end
end
2019-09-30 21:07:59 +05:30
it 'allows user to unresolve thread' do
2016-09-13 17:45:13 +05:30
page.within '.diff-content' do
2021-04-29 21:17:54 +05:30
find('button[data-qa-selector="resolve_discussion_button"]').click
2019-09-30 21:07:59 +05:30
click_button 'Unresolve thread'
2016-09-13 17:45:13 +05:30
end
page.within '.line-resolve-all-container' do
2020-05-24 23:13:21 +05:30
expect(page).to have_content('1 unresolved thread')
2016-09-13 17:45:13 +05:30
end
end
2019-09-30 21:07:59 +05:30
describe 'resolved thread' do
2018-03-17 18:26:18 +05:30
before do
page.within '.diff-content' do
2021-04-29 21:17:54 +05:30
find('button[data-qa-selector="resolve_discussion_button"]').click
2018-03-17 18:26:18 +05:30
end
visit_merge_request
2016-09-13 17:45:13 +05:30
end
2018-03-17 18:26:18 +05:30
describe 'timeline view' do
2019-09-30 21:07:59 +05:30
it 'hides when resolve thread is clicked' do
2018-11-08 19:23:39 +05:30
expect(page).to have_selector('.discussion-header')
expect(page).not_to have_selector('.discussion-body')
2018-03-17 18:26:18 +05:30
end
2016-09-13 17:45:13 +05:30
2019-09-30 21:07:59 +05:30
it 'shows resolved thread when toggled' do
2018-03-17 18:26:18 +05:30
find(".timeline-content .discussion[data-discussion-id='#{note.discussion_id}'] .discussion-toggle-button").click
expect(page.find(".timeline-content #note_#{note.id}")).to be_visible
end
2018-05-09 12:01:36 +05:30
it 'renders tables in lazy-loaded resolved diff dicussions' do
find(".timeline-content .discussion[data-discussion-id='#{note.discussion_id}'] .discussion-toggle-button").click
wait_for_requests
expect(page.find(".timeline-content #note_#{note.id}")).not_to have_css(".line_holder")
expect(page.find(".timeline-content #note_#{note.id}")).to have_css("tr", count: 2)
end
2018-03-17 18:26:18 +05:30
end
describe 'side-by-side view' do
before do
page.within('.merge-request-tabs') { click_link 'Changes' }
2019-03-02 22:35:43 +05:30
find('.js-show-diff-settings').click
2018-03-17 18:26:18 +05:30
page.find('#parallel-diff-btn').click
end
2019-09-30 21:07:59 +05:30
it 'hides when resolve thread is clicked' do
2018-11-08 19:23:39 +05:30
expect(page).not_to have_selector('.diffs .diff-file .notes_holder')
2018-03-17 18:26:18 +05:30
end
2021-06-08 01:23:25 +05:30
it 'shows resolved thread when toggled', quarantine: 'https://gitlab.com/gitlab-org/gitlab/-/issues/327439' do
2018-03-17 18:26:18 +05:30
find('.diff-comment-avatar-holders').click
expect(find('.diffs .diff-file .notes_holder')).to be_visible
end
end
2016-09-13 17:45:13 +05:30
2018-12-05 23:21:45 +05:30
describe 'reply form' do
before do
2019-09-30 21:07:59 +05:30
click_button 'Toggle thread'
2018-12-05 23:21:45 +05:30
end
2016-09-13 17:45:13 +05:30
2018-12-05 23:21:45 +05:30
it 'allows user to comment' do
page.within '.diff-content' do
2021-04-17 20:07:23 +05:30
find_field('Reply…').click
2020-06-23 00:09:42 +05:30
find(".js-unresolve-checkbox").set false
2018-12-05 23:21:45 +05:30
find('.js-note-text').set 'testing'
2016-09-13 17:45:13 +05:30
2020-06-23 00:09:42 +05:30
click_button 'Add comment now'
2016-09-13 17:45:13 +05:30
2018-12-05 23:21:45 +05:30
wait_for_requests
end
2016-09-13 17:45:13 +05:30
2018-12-05 23:21:45 +05:30
page.within '.line-resolve-all-container' do
2020-05-24 23:13:21 +05:30
expect(page).to have_content('All threads resolved')
2018-12-05 23:21:45 +05:30
end
end
2016-09-13 17:45:13 +05:30
2018-12-05 23:21:45 +05:30
it 'allows user to unresolve from reply form without a comment' do
page.within '.diff-content' do
2019-09-30 21:07:59 +05:30
click_button 'Unresolve thread'
2018-12-05 23:21:45 +05:30
wait_for_requests
end
page.within '.line-resolve-all-container' do
2020-05-24 23:13:21 +05:30
expect(page).to have_content('1 unresolved thread')
2018-12-05 23:21:45 +05:30
expect(page).not_to have_selector('.line-resolve-btn.is-active')
end
end
2019-09-30 21:07:59 +05:30
it 'allows user to comment & unresolve thread' do
2018-12-05 23:21:45 +05:30
page.within '.diff-content' do
2021-04-17 20:07:23 +05:30
find_field('Reply…').click
2020-06-23 00:09:42 +05:30
2018-12-05 23:21:45 +05:30
find('.js-note-text').set 'testing'
2020-06-23 00:09:42 +05:30
click_button 'Add comment now'
2018-12-05 23:21:45 +05:30
wait_for_requests
end
page.within '.line-resolve-all-container' do
2020-05-24 23:13:21 +05:30
expect(page).to have_content('1 unresolved thread')
2018-12-05 23:21:45 +05:30
end
end
2016-09-13 17:45:13 +05:30
end
end
2018-12-05 23:21:45 +05:30
it 'allows user to resolve from reply form without a comment' do
2016-09-13 17:45:13 +05:30
page.within '.diff-content' do
2021-04-29 21:17:54 +05:30
find('button[data-qa-selector="resolve_discussion_button"]').click
2016-09-13 17:45:13 +05:30
end
page.within '.line-resolve-all-container' do
2020-05-24 23:13:21 +05:30
expect(page).to have_content('All threads resolved')
2016-09-13 17:45:13 +05:30
expect(page).to have_selector('.line-resolve-btn.is-active')
end
end
2019-09-30 21:07:59 +05:30
it 'allows user to comment & resolve thread' do
2016-09-13 17:45:13 +05:30
page.within '.diff-content' do
2021-04-17 20:07:23 +05:30
find_field('Reply…').click
2016-09-13 17:45:13 +05:30
find('.js-note-text').set 'testing'
2020-06-23 00:09:42 +05:30
find('.js-resolve-checkbox').set(true)
click_button 'Add comment now'
2016-09-13 17:45:13 +05:30
end
page.within '.line-resolve-all-container' do
2020-05-24 23:13:21 +05:30
expect(page).to have_content('All threads resolved')
2018-12-05 23:21:45 +05:30
expect(page).to have_selector('.line-resolve-btn.is-active')
2016-09-13 17:45:13 +05:30
end
end
2019-09-30 21:07:59 +05:30
it 'allows user to quickly scroll to next unresolved thread' do
2016-09-13 17:45:13 +05:30
page.within '.line-resolve-all-container' do
page.find('.discussion-next-btn').click
end
2021-03-08 18:12:59 +05:30
expect(page).to have_button('Resolve thread', visible: true)
2018-03-17 18:26:18 +05:30
expect(page.evaluate_script("window.pageYOffset")).to be > 0
2016-09-13 17:45:13 +05:30
end
it 'hides jump to next button when all resolved' do
page.within '.diff-content' do
2021-04-29 21:17:54 +05:30
find('button[data-qa-selector="resolve_discussion_button"]').click
2016-09-13 17:45:13 +05:30
end
expect(page).to have_selector('.discussion-next-btn', visible: false)
end
it 'updates updated text after resolving note' do
page.within '.diff-content .note' do
2018-11-08 19:23:39 +05:30
resolve_button = find('.line-resolve-btn')
resolve_button.click
wait_for_requests
2016-09-13 17:45:13 +05:30
2019-02-15 15:39:39 +05:30
expect(resolve_button['aria-label']).to eq("Resolved by #{user.name}")
2018-11-08 19:23:39 +05:30
end
2016-09-13 17:45:13 +05:30
end
2019-09-30 21:07:59 +05:30
it 'hides jump to next thread button' do
2016-09-13 17:45:13 +05:30
page.within '.discussion-reply-holder' do
expect(page).not_to have_selector('.discussion-next-btn')
end
end
end
context 'multiple notes' do
before do
2017-08-17 22:00:37 +05:30
create(:diff_note_on_merge_request, project: project, noteable: merge_request, in_reply_to: note)
visit_merge_request
2016-09-13 17:45:13 +05:30
end
2021-04-29 21:17:54 +05:30
it 'marks thread as resolved when resolving single note' do
2018-03-17 18:26:18 +05:30
page.within("#note_#{note.id}") do
2016-09-13 17:45:13 +05:30
first('.line-resolve-btn').click
2017-08-17 22:00:37 +05:30
2018-03-17 18:26:18 +05:30
wait_for_requests
2019-02-15 15:39:39 +05:30
expect(first('.line-resolve-btn')['aria-label']).to eq("Resolved by #{user.name}")
2016-09-13 17:45:13 +05:30
end
page.within '.line-resolve-all-container' do
2021-04-29 21:17:54 +05:30
expect(page).to have_content('All threads resolved')
2016-09-13 17:45:13 +05:30
end
end
2019-09-30 21:07:59 +05:30
it 'resolves thread' do
2021-04-29 21:17:54 +05:30
resolve_buttons = page.all('.note .line-resolve-btn', count: 1)
2018-11-08 19:23:39 +05:30
resolve_buttons.each do |button|
2018-03-17 18:26:18 +05:30
button.click
2016-09-13 17:45:13 +05:30
end
2018-11-08 19:23:39 +05:30
wait_for_requests
resolve_buttons.each do |button|
2019-02-15 15:39:39 +05:30
expect(button['aria-label']).to eq("Resolved by #{user.name}")
2018-11-08 19:23:39 +05:30
end
2016-09-13 17:45:13 +05:30
page.within '.line-resolve-all-container' do
2020-05-24 23:13:21 +05:30
expect(page).to have_content('All threads resolved')
2016-09-13 17:45:13 +05:30
end
end
end
2019-09-30 21:07:59 +05:30
context 'muliple threads' do
2016-09-13 17:45:13 +05:30
before do
create(:diff_note_on_merge_request, project: project, position: position, noteable: merge_request)
visit_merge_request
end
2019-09-30 21:07:59 +05:30
it 'shows text with how many threads' do
2016-09-13 17:45:13 +05:30
page.within '.line-resolve-all-container' do
2020-05-24 23:13:21 +05:30
expect(page).to have_content('2 unresolved threads')
2016-09-13 17:45:13 +05:30
end
end
it 'allows user to mark a single note as resolved' do
2019-09-30 21:07:59 +05:30
click_button('Resolve thread', match: :first)
2016-09-13 17:45:13 +05:30
page.within '.line-resolve-all-container' do
2020-05-24 23:13:21 +05:30
expect(page).to have_content('1 unresolved thread')
2016-09-13 17:45:13 +05:30
end
end
it 'allows user to mark all notes as resolved' do
2018-11-08 19:23:39 +05:30
page.all('.note .line-resolve-btn', count: 2).each do |btn|
2016-09-13 17:45:13 +05:30
btn.click
end
page.within '.line-resolve-all-container' do
2020-05-24 23:13:21 +05:30
expect(page).to have_content('All threads resolved')
2016-09-13 17:45:13 +05:30
expect(page).to have_selector('.line-resolve-btn.is-active')
end
end
2019-09-30 21:07:59 +05:30
it 'allows user to mark all threads as resolved' do
2018-11-08 19:23:39 +05:30
page.all('.discussion-reply-holder', count: 2).each do |reply_holder|
2016-09-13 17:45:13 +05:30
page.within reply_holder do
2021-04-29 21:17:54 +05:30
find('button[data-qa-selector="resolve_discussion_button"]').click
2016-09-13 17:45:13 +05:30
end
end
page.within '.line-resolve-all-container' do
2020-05-24 23:13:21 +05:30
expect(page).to have_content('All threads resolved')
2016-09-13 17:45:13 +05:30
expect(page).to have_selector('.line-resolve-btn.is-active')
end
end
2019-09-30 21:07:59 +05:30
it 'allows user to quickly scroll to next unresolved thread' do
2018-11-08 19:23:39 +05:30
page.within('.discussion-reply-holder', match: :first) do
2021-04-29 21:17:54 +05:30
find('button[data-qa-selector="resolve_discussion_button"]').click
2016-09-13 17:45:13 +05:30
end
page.within '.line-resolve-all-container' do
2018-03-17 18:26:18 +05:30
page.find('.discussion-next-btn').click
2016-09-13 17:45:13 +05:30
end
2018-03-17 18:26:18 +05:30
expect(page.evaluate_script("window.pageYOffset")).to be > 0
2016-09-13 17:45:13 +05:30
end
it 'updates updated text after resolving note' do
2018-11-08 19:23:39 +05:30
page.within('.diff-content .note', match: :first) do
resolve_button = find('.line-resolve-btn')
2016-09-13 17:45:13 +05:30
2018-11-08 19:23:39 +05:30
resolve_button.click
wait_for_requests
2019-02-15 15:39:39 +05:30
expect(resolve_button['aria-label']).to eq("Resolved by #{user.name}")
2018-11-08 19:23:39 +05:30
end
2016-09-13 17:45:13 +05:30
end
2019-09-30 21:07:59 +05:30
it 'displays next thread even if hidden' do
2018-11-08 19:23:39 +05:30
page.all('.note-discussion', count: 2).each do |discussion|
2016-09-13 17:45:13 +05:30
page.within discussion do
2019-09-30 21:07:59 +05:30
click_button 'Toggle thread'
2016-09-13 17:45:13 +05:30
end
end
page.within('.issuable-discussion #notes') do
2019-09-30 21:07:59 +05:30
expect(page).not_to have_selector('.btn', text: 'Resolve thread')
2016-09-13 17:45:13 +05:30
end
page.within '.line-resolve-all-container' do
page.find('.discussion-next-btn').click
end
2019-02-15 15:39:39 +05:30
page.all('.note-discussion').first do
2019-09-30 21:07:59 +05:30
expect(page.find('.discussion-with-resolve-btn')).to have_selector('.btn', text: 'Resolve thread')
2019-02-15 15:39:39 +05:30
end
page.all('.note-discussion').last do
2019-09-30 21:07:59 +05:30
expect(page.find('.discussion-with-resolve-btn')).not.to have_selector('.btn', text: 'Resolve thread')
2019-02-15 15:39:39 +05:30
end
2016-09-13 17:45:13 +05:30
end
end
context 'changes tab' do
2019-09-30 21:07:59 +05:30
it 'shows text with how many threads' do
2016-09-13 17:45:13 +05:30
page.within '.line-resolve-all-container' do
2020-05-24 23:13:21 +05:30
expect(page).to have_content('1 unresolved thread')
2016-09-13 17:45:13 +05:30
end
end
it 'allows user to mark a note as resolved' do
page.within '.diff-content .note' do
find('.line-resolve-btn').click
expect(page).to have_selector('.line-resolve-btn.is-active')
end
page.within '.diff-content' do
2019-09-30 21:07:59 +05:30
expect(page).to have_selector('.btn', text: 'Unresolve thread')
2016-09-13 17:45:13 +05:30
end
page.within '.line-resolve-all-container' do
2020-05-24 23:13:21 +05:30
expect(page).to have_content('All threads resolved')
2016-09-13 17:45:13 +05:30
expect(page).to have_selector('.line-resolve-btn.is-active')
end
end
2019-09-30 21:07:59 +05:30
it 'allows user to mark thread as resolved' do
2016-09-13 17:45:13 +05:30
page.within '.diff-content' do
2021-04-29 21:17:54 +05:30
find('button[data-qa-selector="resolve_discussion_button"]').click
2016-09-13 17:45:13 +05:30
end
page.within '.diff-content .note' do
expect(page).to have_selector('.line-resolve-btn.is-active')
end
page.within '.line-resolve-all-container' do
2020-05-24 23:13:21 +05:30
expect(page).to have_content('All threads resolved')
2016-09-13 17:45:13 +05:30
expect(page).to have_selector('.line-resolve-btn.is-active')
end
end
2019-09-30 21:07:59 +05:30
it 'allows user to unresolve thread' do
2016-09-13 17:45:13 +05:30
page.within '.diff-content' do
2021-04-29 21:17:54 +05:30
find('button[data-qa-selector="resolve_discussion_button"]').click
2019-09-30 21:07:59 +05:30
click_button 'Unresolve thread'
2016-09-13 17:45:13 +05:30
end
page.within '.line-resolve-all-container' do
2020-05-24 23:13:21 +05:30
expect(page).to have_content('1 unresolved thread')
2016-09-13 17:45:13 +05:30
end
end
2019-09-30 21:07:59 +05:30
it 'allows user to comment & resolve thread' do
2016-09-13 17:45:13 +05:30
page.within '.diff-content' do
2021-04-17 20:07:23 +05:30
find_field('Reply…').click
2016-09-13 17:45:13 +05:30
find('.js-note-text').set 'testing'
2020-06-23 00:09:42 +05:30
find('.js-resolve-checkbox').set(true)
click_button 'Add comment now'
2016-09-13 17:45:13 +05:30
end
page.within '.line-resolve-all-container' do
2020-05-24 23:13:21 +05:30
expect(page).to have_content('All threads resolved')
2016-09-13 17:45:13 +05:30
expect(page).to have_selector('.line-resolve-btn.is-active')
end
end
2019-09-30 21:07:59 +05:30
it 'allows user to comment & unresolve thread' do
2016-09-13 17:45:13 +05:30
page.within '.diff-content' do
2021-04-29 21:17:54 +05:30
find('button[data-qa-selector="resolve_discussion_button"]').click
2016-09-13 17:45:13 +05:30
2021-04-17 20:07:23 +05:30
find_field('Reply…').click
2016-09-13 17:45:13 +05:30
find('.js-note-text').set 'testing'
2020-06-23 00:09:42 +05:30
click_button 'Add comment now'
2016-09-13 17:45:13 +05:30
end
page.within '.line-resolve-all-container' do
2020-05-24 23:13:21 +05:30
expect(page).to have_content('1 unresolved thread')
2016-09-13 17:45:13 +05:30
end
end
end
end
context 'as a guest' do
before do
2018-03-17 18:26:18 +05:30
project.add_guest(guest)
sign_in(guest)
2016-09-13 17:45:13 +05:30
end
context 'someone elses merge request' do
before do
visit_merge_request
end
it 'does not allow user to mark note as resolved' do
page.within '.diff-content .note' do
expect(page).not_to have_selector('.line-resolve-btn')
end
page.within '.line-resolve-all-container' do
2020-05-24 23:13:21 +05:30
expect(page).to have_content('1 unresolved thread')
2016-09-13 17:45:13 +05:30
end
end
2019-09-30 21:07:59 +05:30
it 'does not allow user to mark thread as resolved' do
2016-09-13 17:45:13 +05:30
page.within '.diff-content .note' do
2019-09-30 21:07:59 +05:30
expect(page).not_to have_selector('.btn', text: 'Resolve thread')
2016-09-13 17:45:13 +05:30
end
end
end
context 'guest users merge request' do
2018-03-17 18:26:18 +05:30
let(:user) { guest }
2016-09-13 17:45:13 +05:30
before do
2018-03-17 18:26:18 +05:30
visit_merge_request
2016-09-13 17:45:13 +05:30
end
it 'allows user to mark a note as resolved' do
page.within '.diff-content .note' do
find('.line-resolve-btn').click
expect(page).to have_selector('.line-resolve-btn.is-active')
end
page.within '.diff-content' do
2019-09-30 21:07:59 +05:30
expect(page).to have_selector('.btn', text: 'Unresolve thread')
2016-09-13 17:45:13 +05:30
end
page.within '.line-resolve-all-container' do
2020-05-24 23:13:21 +05:30
expect(page).to have_content('All threads resolved')
2016-09-13 17:45:13 +05:30
expect(page).to have_selector('.line-resolve-btn.is-active')
end
end
end
end
context 'unauthorized user' do
context 'no resolved comments' do
before do
visit_merge_request
end
it 'does not allow user to mark note as resolved' do
page.within '.diff-content .note' do
expect(page).not_to have_selector('.line-resolve-btn')
end
page.within '.line-resolve-all-container' do
2020-05-24 23:13:21 +05:30
expect(page).to have_content('1 unresolved thread')
2016-09-13 17:45:13 +05:30
end
end
end
context 'resolved comment' do
before do
note.resolve!(user)
visit_merge_request
end
it 'shows resolved icon' do
2020-05-24 23:13:21 +05:30
expect(page).to have_content 'All threads resolved'
2016-09-13 17:45:13 +05:30
2019-09-30 21:07:59 +05:30
click_button 'Toggle thread'
2016-09-13 17:45:13 +05:30
expect(page).to have_selector('.line-resolve-btn.is-active')
end
it 'does not allow user to click resolve button' do
2020-05-24 23:13:21 +05:30
expect(page).to have_selector('.line-resolve-btn.is-active')
2019-09-30 21:07:59 +05:30
click_button 'Toggle thread'
2016-09-13 17:45:13 +05:30
2020-05-24 23:13:21 +05:30
expect(page).to have_selector('.line-resolve-btn.is-active')
2016-09-13 17:45:13 +05:30
end
end
end
def visit_merge_request(mr = nil)
2018-03-17 18:26:18 +05:30
mr ||= merge_request
2017-09-10 17:25:29 +05:30
visit project_merge_request_path(mr.project, mr)
2020-04-08 14:13:33 +05:30
# Wait for MR widget to load
wait_for_requests
2016-09-13 17:45:13 +05:30
end
end