Lines 166-183
subtest 'fill() tests' => sub {
Link Here
|
166 |
|
166 |
|
167 |
subtest 'anonymization behavior tests' => sub { |
167 |
subtest 'anonymization behavior tests' => sub { |
168 |
|
168 |
|
169 |
plan tests => 4; |
169 |
plan tests => 5; |
170 |
|
170 |
|
171 |
# reduce the tests noise |
171 |
# reduce the tests noise |
172 |
t::lib::Mocks::mock_preference( 'HoldsLog', 0 ); |
172 |
t::lib::Mocks::mock_preference( 'HoldsLog', 0 ); |
173 |
t::lib::Mocks::mock_preference( 'HoldFeeMode', 'not_always' ); |
173 |
t::lib::Mocks::mock_preference( 'HoldFeeMode', 'not_always' ); |
|
|
174 |
# unset AnonymousPatron |
175 |
t::lib::Mocks::mock_preference( 'AnonymousPatron', undef ); |
174 |
|
176 |
|
175 |
# 0 == keep forever |
177 |
# 0 == keep forever |
176 |
$patron->privacy(0)->store; |
178 |
$patron->privacy(0)->store; |
177 |
my $hold = $builder->build_object( |
179 |
my $hold = $builder->build_object( |
178 |
{ |
180 |
{ |
179 |
class => 'Koha::Holds', |
181 |
class => 'Koha::Holds', |
180 |
value => { borrowernumber => $patron->id, status => undef } |
182 |
value => { borrowernumber => $patron->id, found => undef } |
181 |
} |
183 |
} |
182 |
); |
184 |
); |
183 |
$hold->fill(); |
185 |
$hold->fill(); |
Lines 189-195
subtest 'fill() tests' => sub {
Link Here
|
189 |
$hold = $builder->build_object( |
191 |
$hold = $builder->build_object( |
190 |
{ |
192 |
{ |
191 |
class => 'Koha::Holds', |
193 |
class => 'Koha::Holds', |
192 |
value => { borrowernumber => $patron->id, status => undef } |
194 |
value => { borrowernumber => $patron->id, found => undef } |
193 |
} |
195 |
} |
194 |
); |
196 |
); |
195 |
$hold->fill(); |
197 |
$hold->fill(); |
Lines 201-212
subtest 'fill() tests' => sub {
Link Here
|
201 |
$hold = $builder->build_object( |
203 |
$hold = $builder->build_object( |
202 |
{ |
204 |
{ |
203 |
class => 'Koha::Holds', |
205 |
class => 'Koha::Holds', |
204 |
value => { borrowernumber => $patron->id, status => undef } |
206 |
value => { borrowernumber => $patron->id, found => undef } |
205 |
} |
207 |
} |
206 |
); |
208 |
); |
207 |
$hold->fill(); |
209 |
|
208 |
is( Koha::Old::Holds->find( $hold->id )->borrowernumber, |
210 |
throws_ok |
209 |
undef, 'Patron link is deleted immediately' ); |
211 |
{ $hold->fill(); } |
|
|
212 |
'Koha::Exception', |
213 |
'AnonymousPatron not set, exception thrown'; |
214 |
|
215 |
$hold->discard_changes; # refresh from DB |
216 |
|
217 |
ok( !$hold->is_found, 'Hold is not filled' ); |
210 |
|
218 |
|
211 |
my $anonymous_patron = $builder->build_object({ class => 'Koha::Patrons' }); |
219 |
my $anonymous_patron = $builder->build_object({ class => 'Koha::Patrons' }); |
212 |
t::lib::Mocks::mock_preference( 'AnonymousPatron', $anonymous_patron->id ); |
220 |
t::lib::Mocks::mock_preference( 'AnonymousPatron', $anonymous_patron->id ); |
Lines 214-223
subtest 'fill() tests' => sub {
Link Here
|
214 |
$hold = $builder->build_object( |
222 |
$hold = $builder->build_object( |
215 |
{ |
223 |
{ |
216 |
class => 'Koha::Holds', |
224 |
class => 'Koha::Holds', |
217 |
value => { borrowernumber => $patron->id, status => undef } |
225 |
value => { borrowernumber => $patron->id, found => undef } |
218 |
} |
226 |
} |
219 |
); |
227 |
); |
220 |
$hold->cancel(); |
228 |
$hold->fill(); |
221 |
is( |
229 |
is( |
222 |
Koha::Old::Holds->find( $hold->id )->borrowernumber, |
230 |
Koha::Old::Holds->find( $hold->id )->borrowernumber, |
223 |
$anonymous_patron->id, |
231 |
$anonymous_patron->id, |
Lines 337-343
subtest 'set_pickup_location() tests' => sub {
Link Here
|
337 |
'Koha::Exceptions::MissingParameter', |
345 |
'Koha::Exceptions::MissingParameter', |
338 |
'Exception thrown if missing parameter'; |
346 |
'Exception thrown if missing parameter'; |
339 |
|
347 |
|
340 |
is( "$@", 'The library_id parameter is mandatory', 'Exception message is clear' ); |
348 |
like( "$@", qr/The library_id parameter is mandatory/, 'Exception message is clear' ); |
341 |
|
349 |
|
342 |
$schema->storage->txn_rollback; |
350 |
$schema->storage->txn_rollback; |
343 |
}; |
351 |
}; |
Lines 448-454
subtest 'is_pickup_location_valid() tests' => sub {
Link Here
|
448 |
|
456 |
|
449 |
subtest 'cancel() tests' => sub { |
457 |
subtest 'cancel() tests' => sub { |
450 |
|
458 |
|
451 |
plan tests => 4; |
459 |
plan tests => 5; |
452 |
|
460 |
|
453 |
$schema->storage->txn_begin; |
461 |
$schema->storage->txn_begin; |
454 |
|
462 |
|
Lines 466-472
subtest 'cancel() tests' => sub {
Link Here
|
466 |
my $hold = $builder->build_object( |
474 |
my $hold = $builder->build_object( |
467 |
{ |
475 |
{ |
468 |
class => 'Koha::Holds', |
476 |
class => 'Koha::Holds', |
469 |
value => { borrowernumber => $patron->id, status => undef } |
477 |
value => { borrowernumber => $patron->id, found => undef } |
470 |
} |
478 |
} |
471 |
); |
479 |
); |
472 |
$hold->cancel(); |
480 |
$hold->cancel(); |
Lines 478-484
subtest 'cancel() tests' => sub {
Link Here
|
478 |
$hold = $builder->build_object( |
486 |
$hold = $builder->build_object( |
479 |
{ |
487 |
{ |
480 |
class => 'Koha::Holds', |
488 |
class => 'Koha::Holds', |
481 |
value => { borrowernumber => $patron->id, status => undef } |
489 |
value => { borrowernumber => $patron->id, found => undef } |
482 |
} |
490 |
} |
483 |
); |
491 |
); |
484 |
$hold->cancel(); |
492 |
$hold->cancel(); |
Lines 490-501
subtest 'cancel() tests' => sub {
Link Here
|
490 |
$hold = $builder->build_object( |
498 |
$hold = $builder->build_object( |
491 |
{ |
499 |
{ |
492 |
class => 'Koha::Holds', |
500 |
class => 'Koha::Holds', |
493 |
value => { borrowernumber => $patron->id, status => undef } |
501 |
value => { borrowernumber => $patron->id, found => undef } |
494 |
} |
502 |
} |
495 |
); |
503 |
); |
496 |
$hold->cancel(); |
504 |
throws_ok |
497 |
is( Koha::Old::Holds->find( $hold->id )->borrowernumber, |
505 |
{ $hold->cancel(); } |
498 |
undef, 'Patron link is deleted immediately' ); |
506 |
'Koha::Exception', |
|
|
507 |
'AnonymousPatron not set, exception thrown'; |
508 |
|
509 |
$hold->discard_changes; |
510 |
|
511 |
ok( !$hold->is_found, 'Hold is not cancelled' ); |
499 |
|
512 |
|
500 |
my $anonymous_patron = $builder->build_object({ class => 'Koha::Patrons' }); |
513 |
my $anonymous_patron = $builder->build_object({ class => 'Koha::Patrons' }); |
501 |
t::lib::Mocks::mock_preference( 'AnonymousPatron', $anonymous_patron->id ); |
514 |
t::lib::Mocks::mock_preference( 'AnonymousPatron', $anonymous_patron->id ); |
Lines 503-509
subtest 'cancel() tests' => sub {
Link Here
|
503 |
$hold = $builder->build_object( |
516 |
$hold = $builder->build_object( |
504 |
{ |
517 |
{ |
505 |
class => 'Koha::Holds', |
518 |
class => 'Koha::Holds', |
506 |
value => { borrowernumber => $patron->id, status => undef } |
519 |
value => { borrowernumber => $patron->id, found => undef } |
507 |
} |
520 |
} |
508 |
); |
521 |
); |
509 |
$hold->cancel(); |
522 |
$hold->cancel(); |
510 |
- |
|
|