Bugzilla – Attachment 165011 Details for
Bug 30645
Generated DBIC query incorrect for API searches across joined extended attributes when several terms are passed
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 30645: Add tests
Bug-30645-Add-tests.patch (text/plain), 5.58 KB, created by
Martin Renvoize (ashimema)
on 2024-04-17 13:15:56 UTC
(
hide
)
Description:
Bug 30645: Add tests
Filename:
MIME Type:
Creator:
Martin Renvoize (ashimema)
Created:
2024-04-17 13:15:56 UTC
Size:
5.58 KB
patch
obsolete
>From 69bd3fab125ca021bc5c7df930f2492e9acc383d Mon Sep 17 00:00:00 2001 >From: Jonathan Druart <jonathan.druart@bugs.koha-community.org> >Date: Thu, 28 Apr 2022 15:13:17 +0200 >Subject: [PATCH] Bug 30645: Add tests > >to highlight the problem > >Signed-off-by: David Nind <david@davidnind.com> >Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> >--- > t/db_dependent/selenium/patrons_search.t | 43 +++++++++++++++++------- > 1 file changed, 31 insertions(+), 12 deletions(-) > >diff --git a/t/db_dependent/selenium/patrons_search.t b/t/db_dependent/selenium/patrons_search.t >index 43d0ff9e8c3..50bc251756e 100755 >--- a/t/db_dependent/selenium/patrons_search.t >+++ b/t/db_dependent/selenium/patrons_search.t >@@ -51,7 +51,6 @@ my $base_url = $s->base_url; > my $builder = t::lib::TestBuilder->new; > my $schema = Koha::Database->schema; > >- > 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"); > } >@@ -63,7 +62,7 @@ my $branchname = q|<strong>just 'another" library</strong> \123 ⤠> my $firstname = q|<strong>fir's"tname</strong> \123 â¤|; > my $address = q|<strong>add'res"s</strong> \123 â¤|; > my $email = q|a<strong>bad_email</strong>@example\123 â¤.com|; >-my ($attribute_type, $attribute_type_searchable, $attribute_type_searchable_not_default); >+my ($attribute_type, $attribute_type_searchable_1, $attribute_type_searchable_2, $attribute_type_searchable_not_default); > sub setup { > my $patron_category = $builder->build_object( > { >@@ -151,7 +150,7 @@ sub setup { > searched_by_default => 0 > } > )->store; >- $attribute_type_searchable = Koha::Patron::Attribute::Type->new( >+ $attribute_type_searchable_1 = Koha::Patron::Attribute::Type->new( > { > code => 'my code2', > description => 'my description2', >@@ -160,26 +159,37 @@ sub setup { > searched_by_default => 1 > } > )->store; >- $attribute_type_searchable_not_default = Koha::Patron::Attribute::Type->new( >+ $attribute_type_searchable_2 = Koha::Patron::Attribute::Type->new( > { >- code => 'mycode3', >+ code => 'my code3', > description => 'my description3', > opac_display => 1, > staff_searchable => 1, >+ searched_by_default => 1 >+ } >+ )->store; >+ $attribute_type_searchable_not_default = Koha::Patron::Attribute::Type->new( >+ { >+ code => 'mycode4', >+ description => 'my description4', >+ opac_display => 1, >+ staff_searchable => 1, > searched_by_default => 0 > } > )->store; >- push @cleanup, $attribute_type, $attribute_type_searchable, $attribute_type_searchable_not_default; >+ push @cleanup, $attribute_type, $attribute_type_searchable_1, $attribute_type_searchable_2, $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'}, >+ { code => $attribute_type_searchable_1->code, attribute => 'test_attr_2'}, >+ { code => $attribute_type_searchable_2->code, attribute => 'test_attr_3'}, >+ { code => $attribute_type_searchable_not_default->code, attribute => 'test_attr_4'}, > ]); > $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'}, >+ { code => $attribute_type_searchable_1->code, attribute => 'test_attr_2'}, >+ { code => $attribute_type_searchable_2->code, attribute => 'test_attr_3'}, >+ { code => $attribute_type_searchable_not_default->code, attribute => 'test_attr_4'}, > ]); > C4::Context->set_preference('PatronsPerPage', $PatronsPerPage); > } >@@ -194,7 +204,7 @@ sub teardown { > } > > subtest 'Search patrons' => sub { >- plan tests => 27; >+ plan tests => 28; > > setup(); > my $total_number_of_patrons = Koha::Patrons->search->count; >@@ -316,8 +326,17 @@ subtest 'Search patrons' => sub { > # clear form > $driver->find_element('//form[@class="patron_search_form"]//*[@class="btn btn-default clear_search"]')->click(); > >+ $s->fill_form( { 'class=search_patron_filter' => 'test_attr_3' } ); # Terms must be split >+ $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 returns correct results' ); >+ >+ # clear form >+ $driver->find_element('//form[@class="patron_search_form"]//*[@class="btn btn-default clear_search"]')->click(); >+ > # Search on searchable attribute as specific field, we expect 2 patrons >- $s->fill_form( { 'class=search_patron_filter' => 'test_attr_3' } ); >+ $s->fill_form( { 'class=search_patron_filter' => 'test_attr_4' } ); > $driver->find_element('//form[@class="patron_search_form"]//*[@class="searchfieldstype_filter"]//option[@value="_ATTR_'.$attribute_type_searchable_not_default->code.'"]')->click(); > $s->submit_form; > sleep $DT_delay && $s->wait_for_ajax; >-- >2.44.0
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 30645
:
134253
|
154949
|
159414
|
159450
|
159651
|
159652
|
159675
|
159676
|
160208
|
160216
|
161495
|
161528
|
164982
|
165009
|
165010
| 165011