|
Lines 49-57
my $driver = $s->driver;
Link Here
|
| 49 |
my $base_url = $s->base_url; |
49 |
my $base_url = $s->base_url; |
| 50 |
my $mainpage = $s->base_url . q|mainpage.pl|; |
50 |
my $mainpage = $s->base_url . q|mainpage.pl|; |
| 51 |
my $builder = t::lib::TestBuilder->new; |
51 |
my $builder = t::lib::TestBuilder->new; |
|
|
52 |
my $schema = Koha::Database->schema; |
| 52 |
|
53 |
|
| 53 |
subtest 'Search patrons' => sub { |
54 |
subtest 'Search patrons' => sub { |
| 54 |
plan tests => 24; |
55 |
plan tests => 25; |
| 55 |
|
56 |
|
| 56 |
if ( Koha::Patrons->search({surname => {-like => "test_patron_%"}})->count ) { |
57 |
if ( Koha::Patrons->search({surname => {-like => "test_patron_%"}})->count ) { |
| 57 |
BAIL_OUT("Cannot run this test, data we need to create already exist in the DB"); |
58 |
BAIL_OUT("Cannot run this test, data we need to create already exist in the DB"); |
|
Lines 277-282
subtest 'Search patrons' => sub {
Link Here
|
| 277 |
$s->wait_for_ajax; |
278 |
$s->wait_for_ajax; |
| 278 |
is( $driver->find_element('//div[@id="'.$table_id.'_info"]')->get_text, sprintf('Showing 1 to %s of %s entries (filtered from %s total entries)', 1, 1, $total_number_of_patrons), 'Refining with header filters works to further filter the original query' ); |
279 |
is( $driver->find_element('//div[@id="'.$table_id.'_info"]')->get_text, sprintf('Showing 1 to %s of %s entries (filtered from %s total entries)', 1, 1, $total_number_of_patrons), 'Refining with header filters works to further filter the original query' ); |
| 279 |
|
280 |
|
|
|
281 |
subtest 'remember_search' => sub { |
| 282 |
|
| 283 |
plan tests => 7; |
| 284 |
|
| 285 |
C4::Context->set_preference( 'PatronsPerPage', 5 ); |
| 286 |
$driver->get( $base_url . "/members/members-home.pl" ); |
| 287 |
$s->fill_form( { search_patron_filter => 'test_patron' } ); |
| 288 |
$s->submit_form; |
| 289 |
$s->wait_for_ajax; |
| 290 |
my $patron_selected_text = $driver->find_element('//div[@id="patron_search_selected"]/span')->get_text; |
| 291 |
is( $patron_selected_text, "", "Patrons selected is not displayed" ); |
| 292 |
|
| 293 |
my @checkboxes = $driver->find_elements( |
| 294 |
'//input[@type="checkbox"][@name="borrowernumber"]'); |
| 295 |
$checkboxes[2]->click; |
| 296 |
$patron_selected_text = $driver->find_element('//div[@id="patron_search_selected"]/span')->get_text; |
| 297 |
is( $patron_selected_text, "Patrons selected: 1", "One patron selected" ); |
| 298 |
|
| 299 |
$checkboxes[4]->click; |
| 300 |
$patron_selected_text = $driver->find_element('//div[@id="patron_search_selected"]/span')->get_text; |
| 301 |
is( $patron_selected_text, "Patrons selected: 2", "Two patrons are selected" ); |
| 302 |
|
| 303 |
$driver->find_element('//*[@id="memberresultst_next"]')->click; |
| 304 |
@checkboxes = $driver->find_elements( |
| 305 |
'//input[@type="checkbox"][@name="borrowernumber"]'); |
| 306 |
$checkboxes[0]->click; |
| 307 |
$patron_selected_text = $driver->find_element('//div[@id="patron_search_selected"]/span')->get_text; |
| 308 |
is( $patron_selected_text, "Patrons selected: 3", "Tree patrons are selected" ); |
| 309 |
|
| 310 |
|
| 311 |
# Perform another search |
| 312 |
$driver->get( $base_url . "/members/members-home.pl" ); |
| 313 |
$s->fill_form( { search_patron_filter => 'test_patron' } ); |
| 314 |
$s->submit_form; |
| 315 |
$s->wait_for_ajax; |
| 316 |
$patron_selected_text = $driver->find_element('//div[@id="patron_search_selected"]/span')->get_text; |
| 317 |
is( $patron_selected_text, "Patrons selected: 3", "Tree patrons still selected" ); |
| 318 |
|
| 319 |
$driver->find_element('//*[@id="patronlist-menu"]')->click; |
| 320 |
$driver->find_element('//a[@class="patron-list-add"]')->click; |
| 321 |
my $patron_list_name = "my new list"; |
| 322 |
$driver->find_element('//input[@id="new_patron_list"]')->send_keys($patron_list_name); |
| 323 |
$driver->find_element('//button[@id="add_to_patron_list_submit"]')->click; |
| 324 |
$s->wait_for_ajax; |
| 325 |
is( $driver->find_element('//*[@id="patron_list_dialog"]')->get_text, "Added 3 patrons to $patron_list_name." ); |
| 326 |
my $patron_list = $schema->resultset('PatronList')->search({ name => $patron_list_name })->next; |
| 327 |
is( $schema->resultset('PatronListPatron')->search({ patron_list_id => $patron_list->patron_list_id })->count, 3 ); |
| 328 |
|
| 329 |
$patron_list->delete; |
| 330 |
}; |
| 331 |
|
| 280 |
push @cleanup, $_ for @patrons; |
332 |
push @cleanup, $_ for @patrons; |
| 281 |
push @cleanup, $library; |
333 |
push @cleanup, $library; |
| 282 |
push @cleanup, $library_2; |
334 |
push @cleanup, $library_2; |
| 283 |
- |
|
|