diff --git a/qa/qa/page/merge_request/show.rb b/qa/qa/page/merge_request/show.rb
index d54ba5a5a8d..2345d811f35 100644
--- a/qa/qa/page/merge_request/show.rb
+++ b/qa/qa/page/merge_request/show.rb
@@ -6,6 +6,10 @@ module QA
class Show < Page::Base
include Page::Component::Note
+ view 'app/assets/javascripts/mr_tabs_popover/components/popover.vue' do
+ element :dismiss_popover_button
+ end
+
view 'app/assets/javascripts/vue_merge_request_widget/components/mr_widget_header.vue' do
element :dropdown_toggle
element :download_email_patches
@@ -42,6 +46,10 @@ module QA
element :squash_checkbox
end
+ view 'app/assets/javascripts/vue_shared/components/notes/skeleton_note.vue' do
+ element :skeleton_note
+ end
+
view 'app/views/projects/merge_requests/show.html.haml' do
element :notes_tab
element :diffs_tab
@@ -69,28 +77,30 @@ module QA
has_text?("No newline at end of file")
end
all_elements(:new_diff_line).first.hover
- click_element :diff_comment
- fill_element :reply_input, text
+ click_element(:diff_comment)
+ fill_element(:reply_input, text)
end
def click_discussions_tab
- click_element :notes_tab
+ click_element(:notes_tab)
- finished_loading?
+ wait_for_loading
end
def click_diffs_tab
- click_element :diffs_tab
+ click_element(:diffs_tab)
- finished_loading?
+ wait_for_loading
+
+ click_element(:dismiss_popover_button) if has_element?(:dismiss_popover_button)
end
def click_pipeline_link
- click_element :pipeline_link
+ click_element(:pipeline_link)
end
def edit!
- click_element :edit_button
+ click_element(:edit_button)
end
def fast_forward_possible?
@@ -203,6 +213,10 @@ module QA
has_element?(:merge_request_error_content)
end
end
+
+ def wait_for_loading
+ finished_loading? && has_no_element?(:skeleton_note)
+ end
end
end
end