# Generating discharge if needed
if ( $input->param('discharge') and $can_be_discharged ) {
- my $is_discharged = Koha::Borrower::Discharge::count({
+ my $is_discharged = Koha::Borrower::Discharge::is_discharged({
borrowernumber => $borrowernumber,
- validated => 1,
});
unless ($is_discharged) {
Koha::Borrower::Discharge::discharge({
#!/usr/bin/perl;
use Modern::Perl;
-use Test::More tests => 15;
+use Test::More tests => 17;
use Test::Warn;
use MARC::Record;
ok( !Koha::Borrower::Debarments::IsDebarred( $borrower->{borrowernumber} ), 'The debarment has been lifted' );
ok( !Koha::Borrower::Discharge::is_discharged( { borrowernumber => $borrower->{borrowernumber} } ), 'The patron is not discharged after the restriction has been lifted' );
+# Verify that the discharge works multiple times
+Koha::Borrower::Discharge::request({ borrowernumber => $borrower->{borrowernumber} });
+is(scalar( @{ Koha::Borrower::Discharge::get_pendings() }), 1, 'There is a pending discharge request (second time)');
+Koha::Borrower::Discharge::discharge( { borrowernumber => $borrower->{borrowernumber} } );
+is_deeply( Koha::Borrower::Discharge::get_pendings(), [], 'There is no pending discharge request (second time)');
+
# Check if PDF::FromHTML is installed.
my $check = eval { require PDF::FromHTML; };