},
});
-my $biblio = $builder->build({
- source => 'Biblio',
- value => {
- branchcode => $branch->{branchcode},
- },
-});
-my $item = $builder->build({
- source => 'Item',
- value => {
- biblionumber => $biblio->{biblionumber},
- homebranch => $branch->{branchcode},
- holdingbranch => $branch->{branchcode},
- },
+my $biblio = $builder->build_sample_biblio({ branchcode => $branch->{branchcode} });
+my $item = $builder->build_sample_item({
+ biblionumber => $biblio->biblionumber,
+ homebranch => $branch->{branchcode},
+ holdingbranch => $branch->{branchcode},
});
my $patron_object = Koha::Patrons->find( $patron->{borrowernumber} );
-my $item_object = Koha::Items->find( $item->{itemnumber} );
t::lib::Mocks::mock_userenv( { patron => $patron_object });
# TooMany return ($current_loan_count, $max_loans_allowed) or undef
subtest 'no rules exist' => sub {
plan tests => 2;
is_deeply(
- C4::Circulation::TooMany( $patron, $item_object ),
+ C4::Circulation::TooMany( $patron, $item ),
{ reason => 'NO_RULE_DEFINED', max_allowed => 0 },
'CO should not be allowed, in any cases'
);
is_deeply(
- C4::Circulation::TooMany( $patron, $item_object, { onsite_checkout => 1 } ),
+ C4::Circulation::TooMany( $patron, $item, { onsite_checkout => 1 } ),
{ reason => 'NO_RULE_DEFINED', max_allowed => 0 },
'OSCO should not be allowed, in any cases'
);
);
t::lib::Mocks::mock_preference('ConsiderOnSiteCheckoutsAsNormalCheckouts', 0);
is_deeply(
- C4::Circulation::TooMany( $patron, $item_object ),
+ C4::Circulation::TooMany( $patron, $item ),
{
reason => 'TOO_MANY_CHECKOUTS',
count => 0,
'CO should not be allowed if ConsiderOnSiteCheckoutsAsNormalCheckouts == 0'
);
is_deeply(
- C4::Circulation::TooMany( $patron, $item_object, { onsite_checkout => 1 } ),
+ C4::Circulation::TooMany( $patron, $item, { onsite_checkout => 1 } ),
{
reason => 'TOO_MANY_ONSITE_CHECKOUTS',
count => 0,
t::lib::Mocks::mock_preference('ConsiderOnSiteCheckoutsAsNormalCheckouts', 1);
is_deeply(
- C4::Circulation::TooMany( $patron, $item_object ),
+ C4::Circulation::TooMany( $patron, $item ),
{
reason => 'TOO_MANY_CHECKOUTS',
count => 0,
'CO should not be allowed if ConsiderOnSiteCheckoutsAsNormalCheckouts == 1'
);
is_deeply(
- C4::Circulation::TooMany( $patron, $item_object, { onsite_checkout => 1 } ),
+ C4::Circulation::TooMany( $patron, $item, { onsite_checkout => 1 } ),
{
reason => 'TOO_MANY_ONSITE_CHECKOUTS',
count => 0,
},
);
- my $issue = C4::Circulation::AddIssue( $patron, $item->{barcode}, dt_from_string() );
+ my $issue = C4::Circulation::AddIssue( $patron, $item->barcode, dt_from_string() );
t::lib::Mocks::mock_preference('ConsiderOnSiteCheckoutsAsNormalCheckouts', 0);
is_deeply(
- C4::Circulation::TooMany( $patron, $item_object ),
+ C4::Circulation::TooMany( $patron, $item ),
{
reason => 'TOO_MANY_CHECKOUTS',
count => 1,
'CO should not be allowed if ConsiderOnSiteCheckoutsAsNormalCheckouts == 0'
);
is(
- C4::Circulation::TooMany( $patron, $item_object, { onsite_checkout => 1 } ),
+ C4::Circulation::TooMany( $patron, $item, { onsite_checkout => 1 } ),
undef,
'OSCO should be allowed if ConsiderOnSiteCheckoutsAsNormalCheckouts == 0'
);
t::lib::Mocks::mock_preference('ConsiderOnSiteCheckoutsAsNormalCheckouts', 1);
is_deeply(
- C4::Circulation::TooMany( $patron, $item_object ),
+ C4::Circulation::TooMany( $patron, $item ),
{
reason => 'TOO_MANY_CHECKOUTS',
count => 1,
'CO should not be allowed if ConsiderOnSiteCheckoutsAsNormalCheckouts == 1'
);
is_deeply(
- C4::Circulation::TooMany( $patron, $item_object, { onsite_checkout => 1 } ),
+ C4::Circulation::TooMany( $patron, $item, { onsite_checkout => 1 } ),
{
reason => 'TOO_MANY_CHECKOUTS',
count => 1,
);
t::lib::Mocks::mock_preference('ConsiderOnSiteCheckoutsAsNormalCheckouts', 0);
is(
- C4::Circulation::TooMany( $patron, $item_object ),
+ C4::Circulation::TooMany( $patron, $item ),
undef,
'CO should be allowed if ConsiderOnSiteCheckoutsAsNormalCheckouts == 0'
);
is(
- C4::Circulation::TooMany( $patron, $item_object, { onsite_checkout => 1 } ),
+ C4::Circulation::TooMany( $patron, $item, { onsite_checkout => 1 } ),
undef,
'OSCO should be allowed if ConsiderOnSiteCheckoutsAsNormalCheckouts == 0'
);
t::lib::Mocks::mock_preference('ConsiderOnSiteCheckoutsAsNormalCheckouts', 1);
is(
- C4::Circulation::TooMany( $patron, $item_object ),
+ C4::Circulation::TooMany( $patron, $item ),
undef,
'CO should not be allowed if ConsiderOnSiteCheckoutsAsNormalCheckouts == 1'
);
is(
- C4::Circulation::TooMany( $patron, $item_object, { onsite_checkout => 1 } ),
+ C4::Circulation::TooMany( $patron, $item, { onsite_checkout => 1 } ),
undef,
'OSCO should not be allowed if ConsiderOnSiteCheckoutsAsNormalCheckouts == 1'
);
}
);
- my $issue = C4::Circulation::AddIssue( $patron, $item->{barcode}, dt_from_string() );
+ my $issue = C4::Circulation::AddIssue( $patron, $item->barcode, dt_from_string() );
like( $issue->issue_id, qr|^\d+$|, 'The issue should have been inserted' );
t::lib::Mocks::mock_preference('ConsiderOnSiteCheckoutsAsNormalCheckouts', 0);
is_deeply(
- C4::Circulation::TooMany( $patron, $item_object ),
+ C4::Circulation::TooMany( $patron, $item ),
{
reason => 'TOO_MANY_CHECKOUTS',
count => 1,
'CO should not be allowed if ConsiderOnSiteCheckoutsAsNormalCheckouts == 0'
);
is(
- C4::Circulation::TooMany( $patron, $item_object, { onsite_checkout => 1 } ),
+ C4::Circulation::TooMany( $patron, $item, { onsite_checkout => 1 } ),
undef,
'OSCO should be allowed if ConsiderOnSiteCheckoutsAsNormalCheckouts == 0'
);
t::lib::Mocks::mock_preference('ConsiderOnSiteCheckoutsAsNormalCheckouts', 1);
is_deeply(
- C4::Circulation::TooMany( $patron, $item_object ),
+ C4::Circulation::TooMany( $patron, $item ),
{
reason => 'TOO_MANY_CHECKOUTS',
count => 1,
'CO should not be allowed if ConsiderOnSiteCheckoutsAsNormalCheckouts == 1'
);
is_deeply(
- C4::Circulation::TooMany( $patron, $item_object, { onsite_checkout => 1 } ),
+ C4::Circulation::TooMany( $patron, $item, { onsite_checkout => 1 } ),
{
reason => 'TOO_MANY_CHECKOUTS',
count => 1,
}
);
- my $issue = C4::Circulation::AddIssue( $patron, $item->{barcode}, dt_from_string(), undef, undef, undef, { onsite_checkout => 1 } );
+ my $issue = C4::Circulation::AddIssue( $patron, $item->barcode, dt_from_string(), undef, undef, undef, { onsite_checkout => 1 } );
like( $issue->issue_id, qr|^\d+$|, 'The issue should have been inserted' );
t::lib::Mocks::mock_preference('ConsiderOnSiteCheckoutsAsNormalCheckouts', 0);
is(
- C4::Circulation::TooMany( $patron, $item_object ),
+ C4::Circulation::TooMany( $patron, $item ),
undef,
'CO should be allowed if ConsiderOnSiteCheckoutsAsNormalCheckouts == 0'
);
is_deeply(
- C4::Circulation::TooMany( $patron, $item_object, { onsite_checkout => 1 } ),
+ C4::Circulation::TooMany( $patron, $item, { onsite_checkout => 1 } ),
{
reason => 'TOO_MANY_ONSITE_CHECKOUTS',
count => 1,
t::lib::Mocks::mock_preference('ConsiderOnSiteCheckoutsAsNormalCheckouts', 1);
is_deeply(
- C4::Circulation::TooMany( $patron, $item_object ),
+ C4::Circulation::TooMany( $patron, $item ),
{
reason => 'TOO_MANY_CHECKOUTS',
count => 1,
'CO should not be allowed if ConsiderOnSiteCheckoutsAsNormalCheckouts == 1'
);
is_deeply(
- C4::Circulation::TooMany( $patron, $item_object, { onsite_checkout => 1 } ),
+ C4::Circulation::TooMany( $patron, $item, { onsite_checkout => 1 } ),
{
reason => 'TOO_MANY_ONSITE_CHECKOUTS',
count => 1,
}
);
- my $issue = C4::Circulation::AddIssue( $patron, $item->{barcode}, dt_from_string(), undef, undef, undef );
+ my $issue = C4::Circulation::AddIssue( $patron, $item->barcode, dt_from_string(), undef, undef, undef );
like( $issue->issue_id, qr|^\d+$|, 'The issue should have been inserted' );
t::lib::Mocks::mock_preference('ConsiderOnSiteCheckoutsAsNormalCheckouts', 0);
is_deeply(
- C4::Circulation::TooMany( $patron, $item_object ),
+ C4::Circulation::TooMany( $patron, $item ),
{
reason => 'TOO_MANY_CHECKOUTS',
count => 1,
'CO should be allowed if ConsiderOnSiteCheckoutsAsNormalCheckouts == 0'
);
is(
- C4::Circulation::TooMany( $patron, $item_object, { onsite_checkout => 1 } ),
+ C4::Circulation::TooMany( $patron, $item, { onsite_checkout => 1 } ),
undef,
'OSCO should not be allowed if ConsiderOnSiteCheckoutsAsNormalCheckouts == 0'
);
t::lib::Mocks::mock_preference('ConsiderOnSiteCheckoutsAsNormalCheckouts', 1);
is_deeply(
- C4::Circulation::TooMany( $patron, $item_object ),
+ C4::Circulation::TooMany( $patron, $item ),
{
reason => 'TOO_MANY_CHECKOUTS',
count => 1,
'CO should not be allowed if ConsiderOnSiteCheckoutsAsNormalCheckouts == 1'
);
is_deeply(
- C4::Circulation::TooMany( $patron, $item_object, { onsite_checkout => 1 } ),
+ C4::Circulation::TooMany( $patron, $item, { onsite_checkout => 1 } ),
{
reason => 'TOO_MANY_CHECKOUTS',
count => 1,
}
);
- $issue = C4::Circulation::AddIssue( $patron, $item->{barcode}, dt_from_string(), undef, undef, undef, { onsite_checkout => 1 } );
+ $issue = C4::Circulation::AddIssue( $patron, $item->barcode, dt_from_string(), undef, undef, undef, { onsite_checkout => 1 } );
like( $issue->issue_id, qr|^\d+$|, 'The issue should have been inserted' );
t::lib::Mocks::mock_preference('ConsiderOnSiteCheckoutsAsNormalCheckouts', 0);
is(
- C4::Circulation::TooMany( $patron, $item_object ),
+ C4::Circulation::TooMany( $patron, $item ),
undef,
'CO should be allowed if ConsiderOnSiteCheckoutsAsNormalCheckouts == 0'
);
is_deeply(
- C4::Circulation::TooMany( $patron, $item_object, { onsite_checkout => 1 } ),
+ C4::Circulation::TooMany( $patron, $item, { onsite_checkout => 1 } ),
{
reason => 'TOO_MANY_ONSITE_CHECKOUTS',
count => 1,
t::lib::Mocks::mock_preference('ConsiderOnSiteCheckoutsAsNormalCheckouts', 1);
is_deeply(
- C4::Circulation::TooMany( $patron, $item_object ),
+ C4::Circulation::TooMany( $patron, $item ),
{
reason => 'TOO_MANY_CHECKOUTS',
count => 1,
'CO should not be allowed if ConsiderOnSiteCheckoutsAsNormalCheckouts == 1'
);
is_deeply(
- C4::Circulation::TooMany( $patron, $item_object, { onsite_checkout => 1 } ),
+ C4::Circulation::TooMany( $patron, $item, { onsite_checkout => 1 } ),
{
reason => 'TOO_MANY_ONSITE_CHECKOUTS',
count => 1,
},
);
is(
- C4::Circulation::TooMany( $patron, $item_object ),
+ C4::Circulation::TooMany( $patron, $item ),
undef,
'maxissueqty="" should mean unlimited'
);
is(
- C4::Circulation::TooMany( $patron, $item_object, { onsite_checkout => 1 } ),
+ C4::Circulation::TooMany( $patron, $item, { onsite_checkout => 1 } ),
undef,
'maxonsiteissueqty="" should mean unlimited'
);