|
Lines 15-22
Link Here
|
| 15 |
# with Koha; if not, see <http://www.gnu.org/licenses>. |
15 |
# with Koha; if not, see <http://www.gnu.org/licenses>. |
| 16 |
|
16 |
|
| 17 |
use Modern::Perl; |
17 |
use Modern::Perl; |
| 18 |
use Test::More tests => 19; |
18 |
|
|
|
19 |
use Test::More tests => 23; |
| 20 |
|
| 21 |
use Test::MockModule; |
| 19 |
use Test::Warn; |
22 |
use Test::Warn; |
|
|
23 |
|
| 24 |
use IPC::Cmd qw(can_run); |
| 20 |
use MARC::Record; |
25 |
use MARC::Record; |
| 21 |
|
26 |
|
| 22 |
use C4::Circulation qw( AddIssue AddReturn ); |
27 |
use C4::Circulation qw( AddIssue AddReturn ); |
|
Lines 114-131
is(scalar( Koha::Patron::Discharge::get_pendings ), 1, 'There is a pending disch
Link Here
|
| 114 |
Koha::Patron::Discharge::discharge( { borrowernumber => $patron->{borrowernumber} } ); |
119 |
Koha::Patron::Discharge::discharge( { borrowernumber => $patron->{borrowernumber} } ); |
| 115 |
is_deeply( [ Koha::Patron::Discharge::get_pendings ], [], 'There is no pending discharge request (second time)'); |
120 |
is_deeply( [ Koha::Patron::Discharge::get_pendings ], [], 'There is no pending discharge request (second time)'); |
| 116 |
|
121 |
|
| 117 |
# Check if PDF::FromHTML is installed. |
122 |
SKIP: { |
| 118 |
my $check = eval { require PDF::FromHTML; }; |
123 |
skip "Skipping because weasyprint is not installed", |
|
|
124 |
5 unless can_run('weasyprint'); |
| 119 |
|
125 |
|
| 120 |
# Tests for if PDF::FromHTML is installed |
126 |
isnt( |
| 121 |
if ($check) { |
127 |
Koha::Patron::Discharge::generate_as_pdf( { borrowernumber => $patron->{borrowernumber} } ), |
| 122 |
isnt( Koha::Patron::Discharge::generate_as_pdf({ borrowernumber => $patron->{borrowernumber} }), undef, "Temporary PDF generated." ); |
128 |
undef, |
| 123 |
} |
129 |
"Temporary PDF generated." |
| 124 |
# Tests for if PDF::FromHTML is not installed |
130 |
); |
| 125 |
else { |
131 |
|
| 126 |
warning_like { Koha::Patron::Discharge::generate_as_pdf({ borrowernumber => $patron->{borrowernumber}, testing => 1 }) } |
132 |
my $mocked_ipc = Test::MockModule->new('IPC::Cmd'); |
| 127 |
[ qr/Can't locate PDF\/FromHTML.pm in \@INC/ ], |
133 |
|
| 128 |
"Expected failure because of missing PDF::FromHTML."; |
134 |
$mocked_ipc->mock( 'run', sub { return 0, 'Some error' } ); |
|
|
135 |
|
| 136 |
my $result; |
| 137 |
warning_is |
| 138 |
{ $result = Koha::Patron::Discharge::generate_as_pdf( { borrowernumber => $patron->{borrowernumber} } ); } |
| 139 |
'Some error', |
| 140 |
'Failed call to run() prints the generated error'; |
| 141 |
|
| 142 |
is( $result, undef, 'undef returned if failed run' ); |
| 143 |
|
| 144 |
$mocked_ipc->mock( 'can_run', undef ); |
| 145 |
|
| 146 |
warning_is |
| 147 |
{ $result = Koha::Patron::Discharge::generate_as_pdf( { borrowernumber => $patron->{borrowernumber} } ); } |
| 148 |
'weasyprint not found!', |
| 149 |
'Expected failure because of missing weasyprint'; |
| 150 |
|
| 151 |
is( $result, undef, 'undef returned if missing weasyprint' ); |
| 129 |
} |
152 |
} |
| 130 |
|
153 |
|
| 131 |
# FIXME Should be a Koha::Object object |
154 |
# FIXME Should be a Koha::Object object |
| 132 |
- |
|
|