Skip to content

Commit 83fd601

Browse files
committed
[#61546] Add test to assert buttons not obscured
Verifies confirm and cancel buttons are always visible.
1 parent 42ac937 commit 83fd601

File tree

3 files changed

+33
-0
lines changed

3 files changed

+33
-0
lines changed

previews/primer/open_project/danger_dialog_preview.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,12 @@ def with_form_builder_form_test(route_format: :html)
9696
def with_form_test(route_format: :html)
9797
render_with_template(locals: { route_format: route_format })
9898
end
99+
100+
# @label With form and long additional details for testing purposes
101+
# @hidden
102+
def with_form_long_additional_details_test(route_format: :html)
103+
render_with_template(locals: { route_format: route_format })
104+
end
99105
end
100106
end
101107
end
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<%= render(Primer::OpenProject::DangerDialog.new(
2+
title: "Delete dialog",
3+
form_arguments: { action: generic_form_submission_path(route_format) }
4+
)) do |dialog| %>
5+
<% dialog.with_show_button { "Click me" } %>
6+
<% dialog.with_confirmation_message do |message|
7+
message.with_heading(tag: :h2).with_content("Permanently delete this item?")
8+
message.with_description_content("This action is not reversible. Please proceed with caution.")
9+
end %>
10+
<% dialog.with_additional_details do %>
11+
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed nunc tellus, finibus vitae purus vitae, venenatis sodales nibh. Duis orci quam, vehicula sed iaculis et, dignissim vel felis. Cras ac pretium nisl. Proin efficitur vehicula dui, eu pulvinar neque convallis et. Nam interdum imperdiet urna, at aliquam lectus mattis nec. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Donec cursus dolor et eros ornare, id pretium magna interdum. Cras cursus lorem eu semper bibendum. Nulla facilisi. In accumsan dignissim arcu vel congue. Sed auctor lacus ipsum, vitae posuere purus scelerisque ac. Suspendisse tincidunt justo eget libero luctus semper. Vivamus vitae erat ut erat malesuada volutpat.</p>
12+
<% end %>
13+
<% dialog.with_confirmation_check_box_content("I understand that this deletion cannot be reversed") %>
14+
<% end %>

test/system/open_project/danger_dialog_test.rb

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,19 @@ def test_submit_button_submits_form
6262
assert_equal "1", form_params["confirm_dangerous_action"]
6363
end
6464

65+
def test_buttons_visible_without_scrolling_with_form
66+
visit_preview(:with_form_long_additional_details_test, route_format: :json)
67+
68+
click_button("Click me")
69+
70+
current_window.resize_to(800, 200)
71+
72+
assert_selector(".DangerDialog") do
73+
assert_selector("button[data-close-dialog-id]", obscured: false)
74+
assert_selector("button[data-submit-dialog-id]", obscured: false)
75+
end
76+
end
77+
6578
def test_submit_button_submits_form_builder_form
6679
visit_preview(:with_form_builder_form_test, route_format: :json)
6780

0 commit comments

Comments
 (0)