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 |
- |
|
|