};
subtest 'get_lostreturn_policy() tests' => sub {
- plan tests => 6;
+ plan tests => 7;
$schema->storage->txn_begin;
my $item = $builder->build_sample_item(
{
- homebranch => $specific_rule_true->{branchcode},
- holdingbranch => $specific_rule_false->{branchcode}
+ homebranch => $specific_rule_false->{branchcode},
+ holdingbranch => $specific_rule_true->{branchcode}
}
);
my $params = {
t::lib::Mocks::mock_preference( 'RefundLostOnReturnControl', 'ItemHomeBranch' );
is( Koha::CirculationRules->get_lostreturn_policy( $params ),
- 1,'Specific rule for home branch is applied (true)');
+ 0,'Specific rule for home branch is applied (false)');
t::lib::Mocks::mock_preference( 'RefundLostOnReturnControl', 'ItemHoldingBranch' );
is( Koha::CirculationRules->get_lostreturn_policy( $params ),
- 0,'Specific rule for holoding branch is applied (false)');
+ 1,'Specific rule for holding branch is applied (true)');
# Default rule check
t::lib::Mocks::mock_preference( 'RefundLostOnReturnControl', 'CheckinLibrary' );
is( Koha::CirculationRules->get_lostreturn_policy( $params ),
1,'No rule for branch, no default rule, fallback default (true)');
+ # Fallback to ItemHoldBranch if CheckinLibrary is undefined
+ $params->{return_branch} = undef;
+ is( Koha::CirculationRules->get_lostreturn_policy( $params ),
+ 0,'return_branch undefined, fallback to ItemHomeBranch rule (false)');
+
$schema->storage->txn_rollback;
};