Bug 21694: Add the Koha::Account->lines method
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io> Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
This commit is contained in:
parent
04114d4b83
commit
00d5ceac1e
|
|
@ -524,6 +524,26 @@ sub non_issues_charges {
|
|||
: 0;
|
||||
}
|
||||
|
||||
=head3 lines
|
||||
|
||||
my $lines = $self->lines;
|
||||
|
||||
Return all credits and debits for the user, outstanding or otherwise
|
||||
|
||||
=cut
|
||||
|
||||
sub lines {
|
||||
my ($self) = @_;
|
||||
|
||||
my $lines = Koha::Account::Lines->search(
|
||||
{
|
||||
borrowernumber => $self->{patron_id},
|
||||
}
|
||||
);
|
||||
|
||||
return $lines;
|
||||
}
|
||||
|
||||
1;
|
||||
|
||||
=head2 Name mappings
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
use Modern::Perl;
|
||||
|
||||
use Test::More tests => 3;
|
||||
use Test::More tests => 4;
|
||||
|
||||
use Koha::Account;
|
||||
use Koha::Account::Lines;
|
||||
|
|
@ -192,3 +192,36 @@ subtest 'add_credit() tests' => sub {
|
|||
|
||||
$schema->storage->txn_rollback;
|
||||
};
|
||||
|
||||
subtest 'lines() tests' => sub {
|
||||
|
||||
plan tests => 1;
|
||||
|
||||
$schema->storage->txn_begin;
|
||||
|
||||
my $patron = $builder->build_object({ class => 'Koha::Patrons' });
|
||||
my $account = $patron->account;
|
||||
|
||||
my @generated_lines;
|
||||
|
||||
# Add Credits
|
||||
push @generated_lines, $account->add_credit({ amount => 1 });
|
||||
push @generated_lines, $account->add_credit({ amount => 2 });
|
||||
push @generated_lines, $account->add_credit({ amount => 3 });
|
||||
push @generated_lines, $account->add_credit({ amount => 4 });
|
||||
|
||||
# Add Debits
|
||||
push @generated_lines, Koha::Account::Line->new({ borrowernumber => $patron->id, amountoutstanding => 1 })->store;
|
||||
push @generated_lines, Koha::Account::Line->new({ borrowernumber => $patron->id, amountoutstanding => 2 })->store;
|
||||
push @generated_lines, Koha::Account::Line->new({ borrowernumber => $patron->id, amountoutstanding => 3 })->store;
|
||||
push @generated_lines, Koha::Account::Line->new({ borrowernumber => $patron->id, amountoutstanding => 4 })->store;
|
||||
|
||||
# Paid Off
|
||||
push @generated_lines, Koha::Account::Line->new({ borrowernumber => $patron->id, amountoutstanding => 0 })->store;
|
||||
push @generated_lines, Koha::Account::Line->new({ borrowernumber => $patron->id, amountoutstanding => 0 })->store;
|
||||
|
||||
my $lines = $account->lines;
|
||||
is( $lines->_resultset->count, 10, "All accountlines (debits, credits and paid off) were fetched");
|
||||
|
||||
$schema->storage->txn_rollback;
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue