@@ -112,42 +112,19 @@ def date_range_picker_select_range(range_name)
112112 it "shows a flash notice and filters results as default" do
113113 visit subject
114114
115- # experiment
116- page . execute_script ( "document.getElementById('filters_date_range').dataset.skipValidation = 'true';" )
117-
118115 date_range = "nov 08 - feb 08"
116+ page . execute_script ( "document.getElementById('filters_date_range').dataset.skipValidation = 'true';" )
119117 page . execute_script ( "document.getElementById('filters_date_range').focus();" )
120- puts "🔍 AFTER FOCUS - URL: #{ page . current_url } "
121118 page . execute_script ( "document.getElementById('filters_date_range').value = '#{ date_range } ';" )
122- puts "🔍 AFTER POPULATE DATE RANGE - URL: #{ page . current_url } "
123- # What we really want here is to simulate user hitting Enter to submit the form but only this click worked
124- # But on CI, this ends up triggering a JS alert instead of submitting the form
125- # FIXME: Can we use something like requestSubmit() to submit the form?
126- # https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/requestSubmit
127- # page.execute_script("document.querySelector('[data-test-id=\"filter-button\"]').click();")
128- # === ON CI: JS ALERT SHOWS UP HERE? ===
129119 page . execute_script ( <<~JS )
130120 var form = document.getElementById('filters_date_range').closest('form');
131121 form.requestSubmit();
132122 JS
133123
134- # Temp: investigating timing failure on CI and URL has not transitioned yet, it remains on:
135- # URL: http://127.0.0.1:35713/distributions
136- # Whereas locally it's transitioned to reflect the filters:
137- # http://127.0.0.1:53534/distributions?filters%5Bby_item_id%5D=&filters%5Bby_partner%5D=&filters%5Bby_location%5D=&filters%5Bby_state%5D=&filters%5Bdate_range%5D=nov+08+-+feb+08&filters%5Bdate_range_label%5D=during+the+period+31+May+to+31+Aug&button=
138- # So on CI, clicking the filter button after "tabbing" into the date range field does not submit the form, or not yet, and JS alert is running first
139- puts "🔍 AFTER SUBMIT FORM - URL: #{ page . current_url } "
140-
141- # === ON CI: JS ALERT SHOWS UP HERE OR EVEN EARLIER ===
142-
143- puts "📄 Page text: #{ page . text } "
144124 expect ( page ) . to have_css ( ".alert.notice" , text : "Invalid Date range provided. Reset to default date range" )
145125 expect ( page ) . to have_css ( "table tbody tr" , count : 4 )
146- # expect(page).to have_selector(".alert.notice", text: "Invalid Date range provided. Reset to default date range", wait: 30)
147- # expect(page).to have_css("table tbody tr", count: 4, wait: 10)
148126 end
149127
150- # Temp remove while investigating CI failure on server-side validation test above
151128 # This test is similar to the above but simulates user clicking away from the date range field
152129 # after having tabbed into it to type something invalid. In this case client side validation
153130 # via a JavaScript alert should be triggered.
@@ -156,9 +133,7 @@ def date_range_picker_select_range(range_name)
156133
157134 date_range = "nov 08 - feb 08"
158135 page . execute_script ( "document.getElementById('filters_date_range').focus();" )
159- puts "🔍 JS BLUR TEST - AFTER FOCUS - URL: #{ page . current_url } "
160136 page . execute_script ( "document.getElementById('filters_date_range').value = '#{ date_range } ';" )
161- puts "🔍 JS BLUR TEST - AFTER ENTER VALUE - URL: #{ page . current_url } "
162137
163138 accept_alert ( "Please enter a valid date range (e.g., January 1, 2024 - March 15, 2024)." ) do
164139 find ( 'body' ) . click
0 commit comments