Lines 280-285
subtest 'Search patrons' => sub {
Link Here
|
280 |
$s->submit_form; |
280 |
$s->submit_form; |
281 |
sleep $DT_delay && $s->wait_for_ajax; |
281 |
sleep $DT_delay && $s->wait_for_ajax; |
282 |
|
282 |
|
|
|
283 |
clear_filters(); |
283 |
$s->driver->find_element('//*[@id="'.$table_id.'_filter"]//input')->send_keys('test_patron'); |
284 |
$s->driver->find_element('//*[@id="'.$table_id.'_filter"]//input')->send_keys('test_patron'); |
284 |
sleep $DT_delay && $s->wait_for_ajax; |
285 |
sleep $DT_delay && $s->wait_for_ajax; |
285 |
is( $driver->find_element('//div[@id="'.$table_id.'_info"]')->get_text, sprintf('Showing 1 to %s of %s entries (filtered from %s total entries)', $PatronsPerPage, 26, $total_number_of_patrons), 'Searching in standard brings back correct results' ); |
286 |
is( $driver->find_element('//div[@id="'.$table_id.'_info"]')->get_text, sprintf('Showing 1 to %s of %s entries (filtered from %s total entries)', $PatronsPerPage, 26, $total_number_of_patrons), 'Searching in standard brings back correct results' ); |
Lines 288-297
subtest 'Search patrons' => sub {
Link Here
|
288 |
sleep $DT_delay && $s->wait_for_ajax; |
289 |
sleep $DT_delay && $s->wait_for_ajax; |
289 |
is( $driver->find_element('//div[@id="'.$table_id.'_info"]')->get_text, sprintf('Showing 1 to %s of %s entries (filtered from %s total entries)', $PatronsPerPage, 25, $total_number_of_patrons), 'Filtering on library works in combination with main search' ); |
290 |
is( $driver->find_element('//div[@id="'.$table_id.'_info"]')->get_text, sprintf('Showing 1 to %s of %s entries (filtered from %s total entries)', $PatronsPerPage, 25, $total_number_of_patrons), 'Filtering on library works in combination with main search' ); |
290 |
|
291 |
|
291 |
# Reset the filters |
292 |
clear_filters(); |
292 |
$driver->find_element('//form[@class="patron_search_form"]//*[@class="btn btn-default clear_search"]')->click(); |
|
|
293 |
$s->submit_form; |
294 |
sleep $DT_delay && $s->wait_for_ajax; |
295 |
|
293 |
|
296 |
# And make sure all the patrons are present |
294 |
# And make sure all the patrons are present |
297 |
is( $driver->find_element('//div[@id="'.$table_id.'_info"]')->get_text, sprintf('Showing 1 to %s of %s entries', $PatronsPerPage, $total_number_of_patrons), 'Resetting filters works as expected' ); |
295 |
is( $driver->find_element('//div[@id="'.$table_id.'_info"]')->get_text, sprintf('Showing 1 to %s of %s entries', $PatronsPerPage, $total_number_of_patrons), 'Resetting filters works as expected' ); |
Lines 313-320
subtest 'Search patrons' => sub {
Link Here
|
313 |
|
311 |
|
314 |
is( $driver->find_element('//div[@id="'.$table_id.'_info"]')->get_text, sprintf('No entries to show (filtered from %s total entries)', $total_number_of_patrons), 'Searching on a non-searchable attribute returns no results' ); |
312 |
is( $driver->find_element('//div[@id="'.$table_id.'_info"]')->get_text, sprintf('No entries to show (filtered from %s total entries)', $total_number_of_patrons), 'Searching on a non-searchable attribute returns no results' ); |
315 |
|
313 |
|
316 |
# clear form |
314 |
clear_filters(); |
317 |
$driver->find_element('//form[@class="patron_search_form"]//*[@class="btn btn-default clear_search"]')->click(); |
|
|
318 |
|
315 |
|
319 |
# Search on searchable attribute, we expect 2 patrons |
316 |
# Search on searchable attribute, we expect 2 patrons |
320 |
$s->fill_form( { 'search_patron_filter' => 'test_attr_2' } ); |
317 |
$s->fill_form( { 'search_patron_filter' => 'test_attr_2' } ); |
Lines 323-330
subtest 'Search patrons' => sub {
Link Here
|
323 |
|
320 |
|
324 |
is( $driver->find_element('//div[@id="'.$table_id.'_info"]')->get_text, sprintf('Showing 1 to %s of %s entries (filtered from %s total entries)', 2, 2, $total_number_of_patrons), 'Searching on a searchable attribute returns correct results' ); |
321 |
is( $driver->find_element('//div[@id="'.$table_id.'_info"]')->get_text, sprintf('Showing 1 to %s of %s entries (filtered from %s total entries)', 2, 2, $total_number_of_patrons), 'Searching on a searchable attribute returns correct results' ); |
325 |
|
322 |
|
326 |
# clear form |
323 |
clear_filters(); |
327 |
$driver->find_element('//form[@class="patron_search_form"]//*[@class="btn btn-default clear_search"]')->click(); |
|
|
328 |
|
324 |
|
329 |
$s->fill_form( { 'search_patron_filter' => 'test_attr_3' } ); # Terms must be split |
325 |
$s->fill_form( { 'search_patron_filter' => 'test_attr_3' } ); # Terms must be split |
330 |
$s->submit_form; |
326 |
$s->submit_form; |
Lines 332-339
subtest 'Search patrons' => sub {
Link Here
|
332 |
|
328 |
|
333 |
is( $driver->find_element('//div[@id="'.$table_id.'_info"]')->get_text, sprintf('Showing 1 to %s of %s entries (filtered from %s total entries)', 2, 2, $total_number_of_patrons), 'Searching on a searchable attribute returns correct results' ); |
329 |
is( $driver->find_element('//div[@id="'.$table_id.'_info"]')->get_text, sprintf('Showing 1 to %s of %s entries (filtered from %s total entries)', 2, 2, $total_number_of_patrons), 'Searching on a searchable attribute returns correct results' ); |
334 |
|
330 |
|
335 |
# clear form |
331 |
clear_filters(); |
336 |
$driver->find_element('//form[@class="patron_search_form"]//*[@class="btn btn-default clear_search"]')->click(); |
|
|
337 |
|
332 |
|
338 |
# Search on searchable attribute as specific field, we expect 2 patrons |
333 |
# Search on searchable attribute as specific field, we expect 2 patrons |
339 |
$s->fill_form( { 'search_patron_filter' => 'test_attr_4' } ); |
334 |
$s->fill_form( { 'search_patron_filter' => 'test_attr_4' } ); |
Lines 361-372
subtest 'Search patrons' => sub {
Link Here
|
361 |
|
356 |
|
362 |
C4::Context->set_preference( 'PatronsPerPage', 5 ); |
357 |
C4::Context->set_preference( 'PatronsPerPage', 5 ); |
363 |
$driver->get( $base_url . "/members/members-home.pl" ); |
358 |
$driver->get( $base_url . "/members/members-home.pl" ); |
|
|
359 |
clear_filters(); |
364 |
$s->fill_form( { 'search_patron_filter' => 'test_patron' } ); |
360 |
$s->fill_form( { 'search_patron_filter' => 'test_patron' } ); |
365 |
$s->submit_form; |
361 |
$s->submit_form; |
366 |
sleep $DT_delay && $s->wait_for_ajax; |
362 |
sleep $DT_delay && $s->wait_for_ajax; |
367 |
my $patron_selected_text = $driver->find_element('//div[@id="table_search_selections"]/span')->get_text; |
363 |
my $patron_selected_text = $driver->find_element('//div[@id="table_search_selections"]/span')->get_text; |
368 |
is( $patron_selected_text, "", "Patrons selected is not displayed" ); |
364 |
is( $patron_selected_text, "", "Patrons selected is not displayed" ); |
369 |
|
365 |
|
|
|
366 |
$driver->capture_screenshot('selenium_xxx.png'); |
370 |
my @checkboxes = $driver->find_elements( |
367 |
my @checkboxes = $driver->find_elements( |
371 |
'//input[@type="checkbox"][@name="borrowernumber"]'); |
368 |
'//input[@type="checkbox"][@name="borrowernumber"]'); |
372 |
$checkboxes[2]->click; |
369 |
$checkboxes[2]->click; |
Lines 387-392
subtest 'Search patrons' => sub {
Link Here
|
387 |
|
384 |
|
388 |
# Perform another search |
385 |
# Perform another search |
389 |
$driver->get( $base_url . "/members/members-home.pl" ); |
386 |
$driver->get( $base_url . "/members/members-home.pl" ); |
|
|
387 |
clear_filters(); |
390 |
$s->fill_form( { 'search_patron_filter' => 'test_patron' } ); |
388 |
$s->fill_form( { 'search_patron_filter' => 'test_patron' } ); |
391 |
$s->submit_form; |
389 |
$s->submit_form; |
392 |
sleep $DT_delay && $s->wait_for_ajax; |
390 |
sleep $DT_delay && $s->wait_for_ajax; |
Lines 414-419
subtest 'Search patrons' => sub {
Link Here
|
414 |
# We have a patron with date of birth=1980-06-17 => formatted as 17/06/1980 |
412 |
# We have a patron with date of birth=1980-06-17 => formatted as 17/06/1980 |
415 |
|
413 |
|
416 |
$driver->get( $base_url . "/members/members-home.pl" ); |
414 |
$driver->get( $base_url . "/members/members-home.pl" ); |
|
|
415 |
clear_filters(); |
417 |
$s->fill_form( { 'search_patron_filter' => 'test_patron' } ); |
416 |
$s->fill_form( { 'search_patron_filter' => 'test_patron' } ); |
418 |
$s->submit_form; |
417 |
$s->submit_form; |
419 |
sleep $DT_delay && $s->wait_for_ajax; |
418 |
sleep $DT_delay && $s->wait_for_ajax; |
Lines 741-743
sub is_patron_shown {
Link Here
|
741 |
my @checkboxes = $driver->find_elements('//input[@type="checkbox"][@name="borrowernumber"]'); |
740 |
my @checkboxes = $driver->find_elements('//input[@type="checkbox"][@name="borrowernumber"]'); |
742 |
return scalar( grep { $_->get_value == $patron->borrowernumber } @checkboxes ); |
741 |
return scalar( grep { $_->get_value == $patron->borrowernumber } @checkboxes ); |
743 |
} |
742 |
} |
744 |
- |
743 |
|
|
|
744 |
sub clear_filters { |
745 |
$driver->find_element('//form[@class="patron_search_form"]//*[@class="btn btn-default clear_search"]')->click(); |
746 |
$s->submit_form; |
747 |
sleep $DT_delay && $s->wait_for_ajax; |
748 |
} |