Bugzilla – Attachment 56596 Details for
Bug 5670
Housebound Readers Module
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 5670: [QA Followup] Correct housebound role search.
Bug-5670-QA-Followup-Correct-housebound-role-searc.patch (text/plain), 7.57 KB, created by
Jonathan Druart
on 2016-10-17 16:41:43 UTC
(
hide
)
Description:
Bug 5670: [QA Followup] Correct housebound role search.
Filename:
MIME Type:
Creator:
Jonathan Druart
Created:
2016-10-17 16:41:43 UTC
Size:
7.57 KB
patch
obsolete
>From a064443527b0a1dc0d69a6d8a46719a9f9953f8a Mon Sep 17 00:00:00 2001 >From: Alex Sassmannshausen <alex.sassmannshausen@ptfs-europe.com> >Date: Mon, 10 Oct 2016 15:38:04 +0200 >Subject: [PATCH] Bug 5670: [QA Followup] Correct housebound role search. > >* Koha/Patrons.pm (search_housebound_choosers) > (search_housebound_deliverers): Use new table. > >Signed-off-by: Claire Gravely <claire_gravely@hotmail.com> >--- > Koha/Patron.pm | 21 +++++++- > Koha/Patrons.pm | 14 +++--- > t/db_dependent/Patron/Housebound.t | 38 +------------- > t/db_dependent/Patron/HouseboundRoles.t | 88 +++++++++++++++++++++++++++++++++ > 4 files changed, 114 insertions(+), 47 deletions(-) > create mode 100644 t/db_dependent/Patron/HouseboundRoles.t > >diff --git a/Koha/Patron.pm b/Koha/Patron.pm >index 6ef5b92..206a085 100644 >--- a/Koha/Patron.pm >+++ b/Koha/Patron.pm >@@ -29,7 +29,8 @@ use Koha::DateUtils; > use Koha::Issues; > use Koha::OldIssues; > use Koha::Patron::Categories; >-use Koha::Patron::HouseboundProfiles; >+use Koha::Patron::HouseboundProfile; >+use Koha::Patron::HouseboundRole; > use Koha::Patron::Images; > use Koha::Patrons; > >@@ -85,8 +86,24 @@ Returns the HouseboundProfile associated with this patron. > > sub housebound_profile { > my ( $self ) = @_; >+ my $profile = $self->_result->housebound_profile; >+ return Koha::Patron::HouseboundProfile->_new_from_dbic($profile) >+ if ( $profile ); >+ return 0; >+} >+ >+=head3 housebound_role >+ >+Returns the HouseboundRole associated with this patron. >+ >+=cut >+ >+sub housebound_role { >+ my ( $self ) = @_; > >- return Koha::Patron::HouseboundProfiles->find($self->borrowernumber); >+ my $role = $self->_result->housebound_role; >+ return Koha::Patron::HouseboundRole->_new_from_dbic($role) if ( $role ); >+ return 0; > } > > =head3 siblings >diff --git a/Koha/Patrons.pm b/Koha/Patrons.pm >index 13fd091..1af2c06 100644 >--- a/Koha/Patrons.pm >+++ b/Koha/Patrons.pm >@@ -45,10 +45,9 @@ Returns all Patrons which are Housebound choosers. > > sub search_housebound_choosers { > my ( $self ) = @_; >- my $cho = $self->_resultset->search >- ->search_related('borrower_attributes', { >- code => 'HSBND', >- attribute => 'CHO', >+ my $cho = $self->_resultset >+ ->search_related('housebound_role', { >+ housebound_chooser => 1, > })->search_related('borrowernumber'); > return Koha::Patrons->_new_from_dbic($cho); > } >@@ -61,10 +60,9 @@ Returns all Patrons which are Housebound deliverers. > > sub search_housebound_deliverers { > my ( $self ) = @_; >- my $del = $self->_resultset->search >- ->search_related('borrower_attributes', { >- code => 'HSBND', >- attribute => 'DEL', >+ my $del = $self->_resultset >+ ->search_related('housebound_role', { >+ housebound_deliverer => 1, > })->search_related('borrowernumber'); > return Koha::Patrons->_new_from_dbic($del); > } >diff --git a/t/db_dependent/Patron/Housebound.t b/t/db_dependent/Patron/Housebound.t >index a9728f1..0950964 100755 >--- a/t/db_dependent/Patron/Housebound.t >+++ b/t/db_dependent/Patron/Housebound.t >@@ -6,7 +6,7 @@ use C4::Circulation; > use Koha::Database; > use Koha::Patrons; > >-use Test::More tests => 6; >+use Test::More tests => 2; > > use_ok('Koha::Patron'); > >@@ -34,42 +34,6 @@ is( > "Fetch housebound_profile." > ); > >-# patron_choosers and patron_deliverers Tests >- >-# Current Patron Chooser / Deliverer count >-my $orig_del_count = Koha::Patrons->search_housebound_deliverers->count; >-my $orig_cho_count = Koha::Patrons->search_housebound_choosers->count; >- >-# We add one, just in case the above is 0, so we're guaranteed one of each. >-my $patron_chooser = $builder->build({ source => 'Borrower' }); >-$builder->build({ >- source => 'BorrowerAttribute', >- value => { >- borrowernumber => $patron_chooser->{borrowernumber}, >- code => 'HSBND', >- attribute => 'CHO', >- password => undef, >- }, >-}); >- >-my $patron_deliverer = $builder->build({ source => 'Borrower' }); >-$builder->build({ >- source => 'BorrowerAttribute', >- value => { >- borrowernumber => $patron_deliverer->{borrowernumber}, >- code => 'HSBND', >- attribute => 'DEL', >- password => undef, >- }, >-}); >- >-# Test search_housebound_choosers >-is(Koha::Patrons->search_housebound_choosers->count, $orig_cho_count + 1, "Correct count of choosers."); >-is(Koha::Patrons->search_housebound_deliverers->count, $orig_del_count + 1, "Correct count of deliverers"); >- >-isa_ok(Koha::Patrons->search_housebound_choosers->next, "Koha::Patron"); >-isa_ok(Koha::Patrons->search_housebound_deliverers->next, "Koha::Patron"); >- > $schema->storage->txn_rollback; > > 1; >diff --git a/t/db_dependent/Patron/HouseboundRoles.t b/t/db_dependent/Patron/HouseboundRoles.t >new file mode 100644 >index 0000000..c8898b9 >--- /dev/null >+++ b/t/db_dependent/Patron/HouseboundRoles.t >@@ -0,0 +1,88 @@ >+#!/usr/bin/perl >+ >+# This file is part of Koha. >+# >+# Koha is free software; you can redistribute it and/or modify it >+# under the terms of the GNU General Public License as published by >+# the Free Software Foundation; either version 3 of the License, or >+# (at your option) any later version. >+# >+# Koha is distributed in the hope that it will be useful, but >+# WITHOUT ANY WARRANTY; without even the implied warranty of >+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the >+# GNU General Public License for more details. >+# >+# You should have received a copy of the GNU General Public License >+# along with Koha; if not, see <http://www.gnu.org/licenses>. >+ >+use Modern::Perl; >+ >+use Test::More tests => 6; >+ >+use Koha::Database; >+use Koha::Patron::HouseboundRoles; >+use Koha::Patrons; >+ >+use t::lib::TestBuilder; >+ >+my $schema = Koha::Database->new->schema; >+$schema->storage->txn_begin; >+ >+my $builder = t::lib::TestBuilder->new; >+ >+# Profile Tests >+ >+my $role = $builder->build({ source => 'HouseboundRole' }); >+ >+is( >+ Koha::Patron::HouseboundRoles >+ ->find($role->{borrowernumber_id})->borrowernumber_id, >+ $role->{borrowernumber_id}, >+ "Find created role." >+); >+ >+my @roles = Koha::Patron::HouseboundRoles >+ ->search({ borrowernumber_id => $role->{borrowernumber_id} }); >+my $found_role = shift @roles; >+is( >+ $found_role->borrowernumber_id, >+ $role->{borrowernumber_id}, >+ "Search for created role." >+); >+ >+# patron_choosers and patron_deliverers Tests >+ >+# Current Patron Chooser / Deliverer count >+my $orig_del_count = Koha::Patrons->search_housebound_deliverers->count; >+my $orig_cho_count = Koha::Patrons->search_housebound_choosers->count; >+ >+# We add one, just in case the above is 0, so we're guaranteed one of each. >+my $patron_chooser = $builder->build({ source => 'Borrower' }); >+$builder->build({ >+ source => 'HouseboundRole', >+ value => { >+ borrowernumber_id => $patron_chooser->{borrowernumber}, >+ housebound_chooser => 1, >+ }, >+}); >+ >+my $patron_deliverer = $builder->build({ source => 'Borrower' }); >+$builder->build({ >+ source => 'HouseboundRole', >+ value => { >+ borrowernumber_id => $patron_deliverer->{borrowernumber}, >+ housebound_deliverer => 1, >+ }, >+}); >+ >+# Test search_housebound_choosers >+is(Koha::Patrons->search_housebound_choosers->count, $orig_cho_count + 1, "Correct count of choosers."); >+is(Koha::Patrons->search_housebound_deliverers->count, $orig_del_count + 1, "Correct count of deliverers"); >+ >+isa_ok(Koha::Patrons->search_housebound_choosers->next, "Koha::Patron"); >+isa_ok(Koha::Patrons->search_housebound_deliverers->next, "Koha::Patron"); >+ >+ >+$schema->storage->txn_rollback; >+ >+1; >-- >2.8.1
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 5670
:
3038
|
22162
|
22163
|
22164
|
22165
|
26816
|
27288
|
50930
|
51377
|
51875
|
54384
|
54385
|
55326
|
55334
|
55335
|
55336
|
55734
|
55735
|
55736
|
55737
|
55738
|
55739
|
55865
|
55866
|
55867
|
55890
|
55891
|
56298
|
56299
|
56300
|
56301
|
56302
|
56308
|
56337
|
56341
|
56346
|
56347
|
56348
|
56349
|
56350
|
56351
|
56352
|
56353
|
56354
|
56355
|
56356
|
56357
|
56358
|
56359
|
56360
|
56361
|
56362
|
56363
|
56364
|
56365
|
56366
|
56367
|
56368
|
56369
|
56580
|
56581
|
56582
|
56583
|
56584
|
56585
|
56586
|
56587
|
56588
|
56589
|
56590
|
56591
|
56592
|
56593
|
56594
|
56595
| 56596 |
56597
|
56598
|
56599
|
56600
|
56601
|
56602
|
56603
|
56604
|
56605
|
56606