Bugzilla – Attachment 185362 Details for
Bug 37344
Patrons with cancelled discharge are seen as discharged when suspended due to overdue
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 37344: Update test suite
Bug-37344-Update-test-suite.patch (text/plain), 4.99 KB, created by
Baptiste Wojtkowski (bwoj)
on 2025-08-13 12:00:52 UTC
(
hide
)
Description:
Bug 37344: Update test suite
Filename:
MIME Type:
Creator:
Baptiste Wojtkowski (bwoj)
Created:
2025-08-13 12:00:52 UTC
Size:
4.99 KB
patch
obsolete
>From 2ea70c7ff7a0d04690e2c9aecc932228b23ca441 Mon Sep 17 00:00:00 2001 >From: Baptiste Wojtkowski <baptiste.wojtkowski@biblibre.com> >Date: Wed, 13 Aug 2025 11:53:19 +0200 >Subject: [PATCH] Bug 37344: Update test suite > >--- > t/db_dependent/Patron/Borrower_Discharge.t | 118 ++++++++++++++++++++- > 1 file changed, 115 insertions(+), 3 deletions(-) > >diff --git a/t/db_dependent/Patron/Borrower_Discharge.t b/t/db_dependent/Patron/Borrower_Discharge.t >index 0f42c5cad..a4e15dccf 100755 >--- a/t/db_dependent/Patron/Borrower_Discharge.t >+++ b/t/db_dependent/Patron/Borrower_Discharge.t >@@ -16,11 +16,12 @@ > > use Modern::Perl; > >-use Test::More tests => 33; >+use Test::More tests => 43; > use Test::NoWarnings; > > use Test::MockModule; > use Test::Warn; >+use Try::Tiny; > > use IPC::Cmd qw(can_run); > use MARC::Record; >@@ -32,6 +33,7 @@ use C4::Context; > use Koha::Patrons; > use Koha::Patron::Discharge; > use Koha::Database; >+use Koha::DateUtils qw( dt_from_string ); > > use t::lib::TestBuilder; > use t::lib::Mocks; >@@ -170,13 +172,123 @@ is( > scalar( Koha::Patron::Discharge::get_validated( { branchcode => $library->{branchcode} } ) ), 2, > 'There is 2 validated discharges for a given branchcode' > ); # This is not used in the code yet >-Koha::Patron::Debarments::DelUniqueDebarment( { 'borrowernumber' => $patron->borrowernumber, 'type' => 'DISCHARGE' } ); >+ >+my $discharge = Koha::Patron::Discharge::get_validated( >+ { >+ branchcode => $library->{branchcode}, >+ borrowernumber => $patron->borrowernumber, >+ } >+)->single; >+ >+Koha::Patron::Discharge::cancel( >+ { >+ discharge_id => $discharge->discharge_id, >+ cancellation_reason => 'PATRON_MISTAKE', >+ } >+); >+ >+$discharge = Koha::Patron::Discharge::get_validated( >+ { >+ branchcode => $library->{branchcode}, >+ borrowernumber => $patron->borrowernumber, >+ } >+)->single; >+ >+Koha::Patron::Discharge::cancel( >+ { >+ borrowernumber => $patron2->borrowernumber, >+ cancellation_reason => 'PATRON_MISTAKE', >+ } >+); >+ >+my $discharge2 = Koha::Patron::Discharge::get_validated( >+ { >+ branchcode => $library->{branchcode}, >+ borrowernumber => $patron2->borrowernumber, >+ } >+)->single; >+ > ok( !Koha::Patrons->find( $patron->borrowernumber )->is_debarred, 'The debarment has been lifted' ); > ok( > !Koha::Patron::Discharge::is_discharged( { borrowernumber => $patron->borrowernumber } ), >- 'The patron is not discharged after the restriction has been lifted' >+ 'The patron is not discharged after the discharge has been cancelled' >+); >+ >+ok( >+ Koha::Patron::Discharge::is_cancelled( { discharge_id => $discharge->discharge_id } ), >+ 'The discharge is marked as cancelled after the discharge has been cancelled using dischargeid' >+); >+ >+ok( >+ Koha::Patron::Discharge::is_cancelled( { discharge_id => $discharge2->discharge_id } ), >+ 'The discharge is marked as cancelled after the discharge has been cancelled using borrowernumber' >+); >+ >+is( >+ $discharge->cancellation_reason, >+ 'PATRON_MISTAKE', >+ 'The cancellation reason is properly set using discharge_id' > ); > >+is( >+ dt_from_string( $discharge->cancelled )->ymd, >+ dt_from_string->ymd, >+ 'The cancellation date is properly set using discharge_id' >+); >+ >+is( >+ $discharge2->cancellation_reason, >+ 'PATRON_MISTAKE', >+ 'The cancellation reason is properly set using borrowernumber' >+); >+ >+is( >+ dt_from_string( $discharge2->cancelled )->ymd, >+ dt_from_string->ymd, >+ 'The cancellation date is properly set using borrowernumber' >+); >+ >+try { >+ Koha::Patron::Discharge::cancel( >+ { >+ cancellation_reason => 'PATRON_MISTAKE', >+ } >+ ); >+ ok( 0, 'Cancel must be called with one parameter' ); >+} catch { >+ ok( $_->isa('Koha::Exceptions::BadParameter'), "Cancel must be called with one parameter" ); >+}; >+ >+try { >+ Koha::Patron::Discharge::cancel( >+ { >+ discharge_id => $discharge->discharge_id, >+ borrowernumber => $patron2->borrowernumber, >+ } >+ ); >+ ok( 0, 'Discharge and borrowernumber, if both provided, must fit' ); >+} catch { >+ ok( $_->isa('Koha::Exceptions::BadParameter'), "Discharge and borrowernumber, if both provided, must fit" ); >+}; >+ >+try { >+ Koha::Patron::Discharge::is_cancelled( {} ); >+ ok( 0, 'There must be a discharge_id in parameters to is_cancelled' ); >+} catch { >+ ok( $_->isa('Koha::Exceptions::BadParameter'), "There must be a discharge_id in parameters to is_cancelled" ); >+}; >+ >+try { >+ Koha::Patron::Discharge::is_cancelled( >+ { >+ discharge_id => -1, >+ } >+ ); >+ ok( 0, 'Discharge called in is_cancelled must exist' ); >+} catch { >+ ok( $_->isa('Koha::Exceptions::BadParameter'), "Discharge called in is_cancelled must exist" ); >+}; >+ > # Verify that the discharge works multiple times > Koha::Patron::Discharge::request( { borrowernumber => $patron->borrowernumber } ); > is( scalar(Koha::Patron::Discharge::get_pendings), 1, 'There is a pending discharge request (second time)' ); >-- >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 37344
:
179461
|
179489
|
179763
|
179826
|
179827
|
179828
|
181709
|
182647
|
182648
|
182649
|
182650
|
182747
|
182748
|
182749
|
182750
|
182751
|
182907
|
184427
|
184428
|
184429
|
184430
|
184431
|
185361
| 185362 |
185363
|
185364