|
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 |
} |