Bugzilla – Attachment 158878 Details for
Bug 34517
Add option to search patron attribute in standard search
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 34517: (follow-up) Add test for attribute search field and make cleanup more robust
Bug-34517-follow-up-Add-test-for-attribute-search-.patch (text/plain), 5.15 KB, created by
Nick Clemens (kidclamp)
on 2023-11-13 14:13:45 UTC
(
hide
)
Description:
Bug 34517: (follow-up) Add test for attribute search field and make cleanup more robust
Filename:
MIME Type:
Creator:
Nick Clemens (kidclamp)
Created:
2023-11-13 14:13:45 UTC
Size:
5.15 KB
patch
obsolete
>From 51becf466be747bda08bf6b57472b4cc3db4336f Mon Sep 17 00:00:00 2001 >From: Nick Clemens <nick@bywatersolutions.com> >Date: Mon, 13 Nov 2023 14:11:13 +0000 >Subject: [PATCH] Bug 34517: (follow-up) Add test for attribute search field > and make cleanup more robust > >This patch adds a test to cover the new functionality of searching an attribute not searched by default. > >It also moves the addition of objects to the cleanup array right after they are created. Patrons are added to the front of the array to ensure no constraints are violated when deleting. This change ensures that if the tests die before reachign the end, the data generated is still cleaned up. >--- > t/db_dependent/selenium/patrons_search.t | 42 +++++++++++++++++++----- > 1 file changed, 34 insertions(+), 8 deletions(-) > >diff --git a/t/db_dependent/selenium/patrons_search.t b/t/db_dependent/selenium/patrons_search.t >index 4bb8a99dc7f..928e64f36ff 100755 >--- a/t/db_dependent/selenium/patrons_search.t >+++ b/t/db_dependent/selenium/patrons_search.t >@@ -61,7 +61,7 @@ my $builder = t::lib::TestBuilder->new; > my $schema = Koha::Database->schema; > > subtest 'Search patrons' => sub { >- plan tests => 26; >+ plan tests => 27; > > if ( Koha::Patrons->search({surname => {-like => "test_patron_%"}})->count ) { > BAIL_OUT("Cannot run this test, data we need to create already exist in the DB"); >@@ -79,9 +79,13 @@ subtest 'Search patrons' => sub { > value => { category_type => 'A' } > } > ); >+ push @cleanup, $patron_category; >+ > my $library = $builder->build_object( > { class => 'Koha::Libraries', value => { branchname => $branchname } } > ); >+ push @cleanup, $library; >+ > for my $i ( 1 .. 25 ) { > push @patrons, > $builder->build_object( >@@ -115,9 +119,13 @@ subtest 'Search patrons' => sub { > } > ); > >+ unshift @cleanup, $_ for @patrons; >+ > my $library_2 = $builder->build_object( > { class => 'Koha::Libraries', value => { branchname => 'X' . $branchname } } > ); >+ push @cleanup, $library_2; >+ > my $patron_27 = > $builder->build_object( > { >@@ -134,7 +142,7 @@ subtest 'Search patrons' => sub { > } > } > ); >- push @patrons, $patron_27; >+ unshift @cleanup, $patron_27; > > my $attribute_type = Koha::Patron::Attribute::Type->new( > { >@@ -153,13 +161,26 @@ subtest 'Search patrons' => sub { > searched_by_default => 1 > } > )->store; >+ my $attribute_type_searchable_not_default = Koha::Patron::Attribute::Type->new( >+ { >+ code => 'mycode3', >+ description => 'my description3', >+ opac_display => 1, >+ staff_searchable => 1, >+ searched_by_default => 0 >+ } >+ )->store; >+ push @cleanup, $attribute_type, $attribute_type_searchable, $attribute_type_searchable_not_default; >+ > $patrons[0]->extended_attributes([ > { code => $attribute_type->code, attribute => 'test_attr_1' }, > { code => $attribute_type_searchable->code, attribute => 'test_attr_2'}, >+ { code => $attribute_type_searchable_not_default->code, attribute => 'test_attr_3'}, > ]); > $patrons[1]->extended_attributes([ > { code => $attribute_type->code, attribute => 'test_attr_1' }, > { code => $attribute_type_searchable->code, attribute => 'test_attr_2'}, >+ { code => $attribute_type_searchable_not_default->code, attribute => 'test_attr_3'}, > ]); > > my $total_number_of_patrons = Koha::Patrons->search->count; >@@ -280,6 +301,17 @@ subtest 'Search patrons' => sub { > > 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' ); > >+ # clear form >+ $driver->find_element('//form[@id="patron_search_form"]//*[@id="clear_search"]')->click(); >+ >+ # Search on searchable attribute as specific field, we expect 2 patrons >+ $s->fill_form( { search_patron_filter => 'test_attr_3' } ); >+ $driver->find_element('//form[@id="patron_search_form"]//*[@id="searchfieldstype_filter"]//option[@value="_ATTR_'.$attribute_type_searchable_not_default->code.'"]')->click(); >+ $s->submit_form; >+ sleep $DT_delay && $s->wait_for_ajax; >+ >+ 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 as a specific field returns correct results' ); >+ > # Refine search and search for test_patron in all the data using the DT global search > # No change in result expected, still 2 patrons > $s->driver->find_element('//*[@id="'.$table_id.'_filter"]//input')->send_keys('test_patron'); >@@ -395,12 +427,6 @@ subtest 'Search patrons' => sub { > $dob_search_filter->clear; > }; > >- push @cleanup, $_ for @patrons; >- push @cleanup, $library; >- push @cleanup, $library_2; >- push @cleanup, $patron_category; >- push @cleanup, $attribute_type, $attribute_type_searchable; >- > $driver->quit(); > }; > >-- >2.30.2
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 34517
:
154389
|
154390
|
154391
|
154392
|
154575
|
154576
|
154577
|
154578
|
154608
|
154610
|
154611
|
154612
|
154613
|
154614
|
154615
|
154616
|
154617
|
154618
|
154619
|
154620
|
154622
|
154623
|
154624
|
154625
|
158429
|
158430
|
158431
|
158432
|
158433
|
158876
| 158878