Bug 30612: Add accountlines method to Koha::Checkout and Koha::Old::Checkout
It would be very useful to have an accountlines method on checkouts objects. In particular it would make fees related to a checkout available from the checkout objects in overdue notices. Test Plan: 1) Apply this patch 2) prove t/db_dependent/Koha/Account/Line.t 3) prove t/db_dependent/Koha/Checkouts.t Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
This commit is contained in:
parent
ad0aa754ee
commit
58dfeff13a
4 changed files with 66 additions and 2 deletions
|
@ -79,6 +79,20 @@ sub item {
|
|||
return Koha::Item->_new_from_dbic( $item_rs );
|
||||
}
|
||||
|
||||
=head3 accountlines
|
||||
|
||||
my $accountlines = $checkout->accountlines;
|
||||
|
||||
Return the checked out accountlines
|
||||
|
||||
=cut
|
||||
|
||||
sub accountlines {
|
||||
my ( $self ) = @_;
|
||||
my $accountlines_rs = $self->_result->accountlines;
|
||||
return Koha::Account::Lines->_new_from_dbic( $accountlines_rs );
|
||||
}
|
||||
|
||||
=head3 library
|
||||
|
||||
my $library = $checkout->library;
|
||||
|
|
|
@ -45,6 +45,20 @@ sub item {
|
|||
return Koha::Item->_new_from_dbic( $item_rs );
|
||||
}
|
||||
|
||||
=head3 accountlines
|
||||
|
||||
my $accountlines = $checkout->accountlines;
|
||||
|
||||
Return the checked out accountlines
|
||||
|
||||
=cut
|
||||
|
||||
sub accountlines {
|
||||
my ( $self ) = @_;
|
||||
my $accountlines_rs = $self->_result->accountlines;
|
||||
return Koha::Account::Lines->_new_from_dbic( $accountlines_rs );
|
||||
}
|
||||
|
||||
=head3 library
|
||||
|
||||
my $library = $checkout->library;
|
||||
|
|
|
@ -203,7 +203,7 @@ subtest 'is_credit() and is_debit() tests' => sub {
|
|||
|
||||
subtest 'apply() tests' => sub {
|
||||
|
||||
plan tests => 31;
|
||||
plan tests => 32;
|
||||
|
||||
$schema->storage->txn_begin;
|
||||
|
||||
|
@ -346,6 +346,9 @@ subtest 'apply() tests' => sub {
|
|||
}
|
||||
)->store();
|
||||
|
||||
my $a = $checkout->accountlines->next;
|
||||
is( $a->id, $accountline->id, "Koha::Checkout::accountlines returns the related acountline" );
|
||||
|
||||
# Enable renewing upon fine payment
|
||||
t::lib::Mocks::mock_preference( 'RenewAccruingItemWhenPaid', 1 );
|
||||
my $called = 0;
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
use Modern::Perl;
|
||||
|
||||
use Test::More tests => 10;
|
||||
use Test::More tests => 11;
|
||||
|
||||
use C4::Circulation qw( MarkIssueReturned AddReturn );
|
||||
use Koha::Checkouts;
|
||||
|
@ -110,6 +110,39 @@ subtest 'item' => sub {
|
|||
'Koha::Checkout->item should return the correct item' );
|
||||
};
|
||||
|
||||
subtest 'accountlines' => sub {
|
||||
plan tests => 3;
|
||||
|
||||
my $accountline = Koha::Account::Line->new(
|
||||
{
|
||||
issue_id => $retrieved_checkout_1->id,
|
||||
borrowernumber => $retrieved_checkout_1->borrowernumber,
|
||||
itemnumber => $retrieved_checkout_1->itemnumber,
|
||||
branchcode => $retrieved_checkout_1->branchcode,
|
||||
date => \'NOW()',
|
||||
debit_type_code => 'OVERDUE',
|
||||
status => 'UNRETURNED',
|
||||
interface => 'cli',
|
||||
amount => '1',
|
||||
amountoutstanding => '1',
|
||||
}
|
||||
)->store();
|
||||
|
||||
my $accountlines = $retrieved_checkout_1->accountlines;
|
||||
is( ref($accountlines), 'Koha::Account::Lines',
|
||||
'Koha::Checkout->accountlines should return a Koha::Item' );
|
||||
|
||||
my $line = $accountlines->next;
|
||||
is( ref($line), 'Koha::Account::Line',
|
||||
'next returns a Koha::Account::Line' );
|
||||
|
||||
is(
|
||||
$accountline->id,
|
||||
$line->id,
|
||||
'Koha::Checkout->accountlines should return the correct accountlines'
|
||||
);
|
||||
};
|
||||
|
||||
subtest 'patron' => sub {
|
||||
plan tests => 3;
|
||||
my $patron = $builder->build_object(
|
||||
|
|
Loading…
Reference in a new issue