use Modern::Perl;
-use Test::More tests => 46;
+use Test::More tests => 47;
use DateTime::Duration;
use t::lib::Mocks;
use t::lib::TestBuilder;
-use C4::Biblio;
-use C4::Circulation;
+use C4::Biblio qw( AddBiblio );
+use C4::Circulation qw( AddIssue AddIssuingCharge AddRenewal AddReturn GetIssuingCharges GetOpenIssue GetRenewCount GetUpcomingDueIssues );
use C4::Context;
use C4::Items;
-use C4::Reserves;
+use C4::Reserves qw( AddReserve );
use Koha::Checkouts;
use Koha::Database;
use Koha::DateUtils;
AddIssuingCharge
AddRenewal
AddReturn
- GetBiblioIssues
GetIssuingCharges
GetOpenIssue
GetRenewCount
}
};
-# Unseen rewnewals
-t::lib::Mocks::mock_preference('UnseenRenewals', 1);
-
-# Does an unseen renewal increment the issue's count
-my ( $unseen_before ) = ( C4::Circulation::GetRenewCount( $opac_renew_issue->{borrowernumber}, $opac_renew_issue->{itemnumber} ) )[3];
-AddRenewal( $opac_renew_issue->{borrowernumber}, $opac_renew_issue->{itemnumber}, $branchcode_1, undef, undef, 0 );
-my ( $unseen_after ) = ( C4::Circulation::GetRenewCount( $opac_renew_issue->{borrowernumber}, $opac_renew_issue->{itemnumber} ) )[3];
-is( $unseen_after, $unseen_before + 1, 'unseen_renewals increments' );
-
-# Does a seen renewal reset the unseen count
-AddRenewal( $opac_renew_issue->{borrowernumber}, $opac_renew_issue->{itemnumber}, $branchcode_1, undef, undef, 1 );
-my ( $unseen_reset ) = ( C4::Circulation::GetRenewCount( $opac_renew_issue->{borrowernumber}, $opac_renew_issue->{itemnumber} ) )[3];
-is( $unseen_reset, 0, 'seen renewal resets the unseen count' );
-
-#Test GetBiblioIssues
-is( GetBiblioIssues(), undef, "GetBiblio Issues without parameters" );
-
#Test GetOpenIssue
is( GetOpenIssue(), undef, "Without parameter GetOpenIssue returns undef" );
is( GetOpenIssue(-1), undef,
@renewcount = C4::Circulation::GetRenewCount();
is_deeply(
\@renewcount,
- [ 0, 0, 0 ], # FIXME Need to be fixed, see FIXME in GetRenewCount
+ [ 0, 0, 0, 0, 0, 0 ], # FIXME Need to be fixed, see FIXME in GetRenewCount
"Without issuing rules and without parameter, GetRenewCount returns renewcount = 0, renewsallowed = undef, renewsleft = 0"
);
@renewcount = C4::Circulation::GetRenewCount(-1);
is_deeply(
\@renewcount,
- [ 0, 0, 0 ], # FIXME Need to be fixed
+ [ 0, 0, 0, 0, 0, 0 ], # FIXME Need to be fixed
"Without issuing rules and without wrong parameter, GetRenewCount returns renewcount = 0, renewsallowed = undef, renewsleft = 0"
);
@renewcount = C4::Circulation::GetRenewCount($borrower_id1, $item_id1);
is_deeply(
\@renewcount,
- [ 2, 0, 0 ],
+ [ 2, 0, 0, 0, 0, 0 ],
"Without issuing rules and with a valid parameter, renewcount = 2, renewsallowed = undef, renewsleft = 0"
);
@renewcount = C4::Circulation::GetRenewCount();
is_deeply(
\@renewcount,
- [ 0, 0, 0 ],
+ [ 0, 0, 0, 0, 0, 0 ],
"With issuing rules (renewal disallowed) and without parameter, GetRenewCount returns renewcount = 0, renewsallowed = 0, renewsleft = 0"
);
@renewcount = C4::Circulation::GetRenewCount(-1);
is_deeply(
\@renewcount,
- [ 0, 0, 0 ],
+ [ 0, 0, 0, 0, 0, 0 ],
"With issuing rules (renewal disallowed) and without wrong parameter, GetRenewCount returns renewcount = 0, renewsallowed = 0, renewsleft = 0"
);
@renewcount = C4::Circulation::GetRenewCount($borrower_id1, $item_id1);
is_deeply(
\@renewcount,
- [ 2, 0, 0 ],
+ [ 2, 0, 0, 0, 0, 0 ],
"With issuing rules (renewal disallowed) and with a valid parameter, Getrenewcount returns renewcount = 2, renewsallowed = 0, renewsleft = 0"
);
@renewcount = C4::Circulation::GetRenewCount($borrower_id1, $item_id1);
is_deeply(
\@renewcount,
- [ 2, 3, 1 ],
+ [ 2, 3, 1, 0, 0, 0 ],
"With issuing rules (renewal allowed) and with a valid parameter, Getrenewcount of item1 returns 3 renews left"
);
@renewcount = C4::Circulation::GetRenewCount($borrower_id1, $item_id1);
is_deeply(
\@renewcount,
- [ 3, 3, 0 ],
+ [ 3, 3, 0, 0, 0, 0 ],
"With issuing rules (renewal allowed, 1 remaining) and with a valid parameter, Getrenewcount of item1 returns 0 renews left"
);
my $hold = Koha::Holds->find( $reserve_id );
is( $hold, undef, 'The reserve should have been correctly cancelled' );
+# Unseen rewnewals
+t::lib::Mocks::mock_preference('UnseenRenewals', 1);
+# Add a default circ rule: 3 unseen renewals allowed
+Koha::CirculationRules->set_rules(
+ {
+ categorycode => undef,
+ itemtype => undef,
+ branchcode => undef,
+ rules => {
+ renewalsallowed => 10,
+ unseen_renewals_allowed => 3
+ }
+ }
+);
+
+my $unseen_library = $builder->build_object( { class => 'Koha::Libraries' } );
+my $unseen_patron = $builder->build_object( { class => 'Koha::Patrons' } );
+my $unseen_item = $builder->build_sample_item(
+ { library => $unseen_library->branchcode, itype => $itemtype } );
+my $unseen_issue = C4::Circulation::AddIssue( $unseen_patron->unblessed, $unseen_item->barcode );
+
+# Does an unseen renewal increment the issue's count
+my ( $unseen_before ) = ( C4::Circulation::GetRenewCount( $unseen_patron->borrowernumber, $unseen_item->itemnumber ) )[3];
+AddRenewal( $unseen_patron->borrowernumber, $unseen_item->itemnumber, $branchcode_1, undef, undef, undef, 0 );
+my ( $unseen_after ) = ( C4::Circulation::GetRenewCount( $unseen_patron->borrowernumber, $unseen_item->itemnumber ) )[3];
+is( $unseen_after, $unseen_before + 1, 'unseen_renewals increments' );
+
+# Does a seen renewal reset the unseen count
+AddRenewal( $unseen_patron->borrowernumber, $unseen_item->itemnumber, $branchcode_1, undef, undef, undef, 1 );
+my ( $unseen_reset ) = ( C4::Circulation::GetRenewCount( $unseen_patron->borrowernumber, $unseen_item->itemnumber ) )[3];
+is( $unseen_reset, 0, 'seen renewal resets the unseen count' );
+
#End transaction
$schema->storage->txn_rollback;