|
Lines 2633-2691
subtest 'CanBookBeIssued + Statistic patrons "X"' => sub {
Link Here
|
| 2633 |
}; |
2633 |
}; |
| 2634 |
|
2634 |
|
| 2635 |
subtest "Bug 27753 - Add AutoClaimReturnStatusOnCheckin" => sub { |
2635 |
subtest "Bug 27753 - Add AutoClaimReturnStatusOnCheckin" => sub { |
| 2636 |
plan tests => 8; |
2636 |
plan tests => 1; |
|
|
2637 |
|
| 2637 |
t::lib::Mocks::mock_preference( 'AllowReturnToBranch', 'anywhere' ); |
2638 |
t::lib::Mocks::mock_preference( 'AllowReturnToBranch', 'anywhere' ); |
| 2638 |
t::lib::Mocks::mock_userenv( { branchcode => $library2->{branchcode} } ); |
2639 |
t::lib::Mocks::mock_userenv( { branchcode => $library2->{branchcode} } ); |
| 2639 |
t::lib::Mocks::mock_preference( 'ClaimReturnedLostValue', 1 ); |
2640 |
t::lib::Mocks::mock_preference( 'ClaimReturnedLostValue', 1 ); |
| 2640 |
t::lib::Mocks::mock_preference( 'AutoClaimReturnStatusOnCheckin', 1 ); |
2641 |
t::lib::Mocks::mock_preference( 'AutoClaimReturnStatusOnCheckin', '' ); |
| 2641 |
my $item = $builder->build_sample_item( { library => $library2->{branchcode} } ); |
2642 |
my $item = $builder->build_sample_item( { library => $library2->{branchcode} } ); |
| 2642 |
my $patron = $builder->build_object( { class => 'Koha::Patrons' } ); |
2643 |
my $patron = $builder->build_object( { class => 'Koha::Patrons' } ); |
| 2643 |
my $checkout = AddIssue( $patron, $item->barcode ); |
2644 |
my $future = dt_from_string()->add( days => 7 ); |
| 2644 |
|
2645 |
my $checkout = $builder->build_object( |
| 2645 |
my $claim = $checkout->claim_returned( |
|
|
| 2646 |
{ |
2646 |
{ |
| 2647 |
created_by => $patron->id, |
2647 |
class => 'Koha::Checkouts', |
| 2648 |
notes => "Test note", |
2648 |
value => { |
|
|
2649 |
returndate => undef, |
| 2650 |
renewals_count => 0, |
| 2651 |
auto_renew => 0, |
| 2652 |
borrowernumber => $patron->borrowernumber, |
| 2653 |
itemnumber => $item->itemnumber, |
| 2654 |
onsite_checkout => 0, |
| 2655 |
date_due => $future, |
| 2656 |
} |
| 2649 |
} |
2657 |
} |
| 2650 |
); |
2658 |
); |
| 2651 |
is( $claim->issue_id, $checkout->id, "Claim issue id matches" ); |
|
|
| 2652 |
is( $claim->itemnumber, $item->id, "Claim itemnumber matches" ); |
| 2653 |
is( $claim->borrowernumber, $patron->id, "Claim borrowernumber matches" ); |
| 2654 |
is( $claim->notes, "Test note", "Claim notes match" ); |
| 2655 |
is( $claim->created_by, $patron->id, "Claim created_by matches" ); |
| 2656 |
ok( $claim->created_on, "Claim created_on is set" ); |
| 2657 |
|
| 2658 |
my ( $doreturn, $messages ) = AddReturn( $item->barcode, $library->{branchcode} ); |
| 2659 |
is( ref $messages->{ClaimAutoResolved}, 'Koha::Checkouts::ReturnClaim', "Claim auto resolved upon checkin" ); |
| 2660 |
$claim->discard_changes; |
| 2661 |
ok( $claim->resolved_by, "Claim is resolved" ); |
| 2662 |
}; |
| 2663 |
|
| 2664 |
subtest "Bug 27753 - Add AutoTestClaimReturnStatusOnCheckin" => sub { |
| 2665 |
plan tests => 7; |
| 2666 |
t::lib::Mocks::mock_preference( 'AllowReturnToBranch', 'anywhere' ); |
| 2667 |
t::lib::Mocks::mock_userenv( { branchcode => $library2->{branchcode} } ); |
| 2668 |
t::lib::Mocks::mock_preference( 'ClaimReturnedLostValue', 1 ); |
| 2669 |
t::lib::Mocks::mock_preference( 'AutoClaimReturnStatusOnCheckin', 0 ); |
| 2670 |
my $item = $builder->build_sample_item( { library => $library2->{branchcode} } ); |
| 2671 |
my $patron = $builder->build_object( { class => 'Koha::Patrons' } ); |
| 2672 |
my $checkout = AddIssue( $patron, $item->barcode ); |
| 2673 |
|
2659 |
|
|
|
2660 |
# Claim return |
| 2674 |
my $claim = $checkout->claim_returned( |
2661 |
my $claim = $checkout->claim_returned( |
| 2675 |
{ |
2662 |
{ |
| 2676 |
created_by => $patron->id, |
2663 |
created_by => $patron->id, |
| 2677 |
notes => "Test note", |
2664 |
notes => "Test note", |
| 2678 |
} |
2665 |
} |
| 2679 |
); |
2666 |
); |
| 2680 |
is( $claim->issue_id, $checkout->id, "Claim issue id matches" ); |
2667 |
is( $claim->issue_id, $checkout->id, "Return claim created for issue" ); |
| 2681 |
is( $claim->itemnumber, $item->id, "Claim itemnumber matches" ); |
2668 |
$item->discard_changes; |
| 2682 |
is( $claim->borrowernumber, $patron->id, "Claim borrowernumber matches" ); |
2669 |
is( $item->itemlost, 1, "Item set to lost as 1" ); |
| 2683 |
is( $claim->notes, "Test note", "Claim notes match" ); |
|
|
| 2684 |
is( $claim->created_by, $patron->id, "Claim created_by matches" ); |
| 2685 |
ok( $claim->created_on, "Claim created_on is set" ); |
| 2686 |
|
2670 |
|
|
|
2671 |
# Return tests with feature disabled |
| 2687 |
my ( $doreturn, $messages ) = AddReturn( $item->barcode, $library->{branchcode} ); |
2672 |
my ( $doreturn, $messages ) = AddReturn( $item->barcode, $library->{branchcode} ); |
| 2688 |
is( ref $messages->{ReturnClaims}, 'Koha::Checkouts::ReturnClaim', "Claim was returned" ); |
2673 |
is( |
|
|
2674 |
ref $messages->{ReturnClaims}, 'Koha::Checkouts::ReturnClaim', |
| 2675 |
"AddReturn returns message 'ReturnClaims' containing the ReturnClaim object" |
| 2676 |
); |
| 2677 |
# FIXME: We should reset the checkout here else we hit a 'No patron' defined issue in the AutoClaim code. |
| 2678 |
# This might highligt a bug in the code however.. should we allow trigger this code when the return |
| 2679 |
# spots that there isn't a current issue |
| 2680 |
|
| 2681 |
# Now test with the feature enabled |
| 2682 |
t::lib::Mocks::mock_preference( 'AutoClaimReturnStatusOnCheckin', 'RETURNED_ON_CLAIM' ); |
| 2683 |
( $doreturn, $messages ) = AddReturn( $item->barcode, $library->{branchcode} ); |
| 2684 |
is( |
| 2685 |
ref $messages->{ClaimAutoResolved}, 'Koha::Checkouts::ReturnClaim', |
| 2686 |
"AddReturn returns message 'ClaimAutoResolved' containing the ReturnClaim object" |
| 2687 |
); |
| 2688 |
$claim->discard_changes; |
| 2689 |
is( $claim->resolved_by, '', "Claim marked as resolved by '' when AutoClaimReturnStatusOnCheckin set" ); |
| 2690 |
# FIXME: The code sets the resolved_by to the patron who was issued the item.. should this be the librarian performing the return instead? |
| 2691 |
is( $claim->resolution, 'RETURNED_ON_CLAIM', "Claim resolution set to match AutoClaimReturnStatusOnCheckin value" ); |
| 2689 |
}; |
2692 |
}; |
| 2690 |
|
2693 |
|
| 2691 |
subtest 'MultipleReserves' => sub { |
2694 |
subtest 'MultipleReserves' => sub { |
| 2692 |
- |
|
|