From 0c24f006b44a6d566c97d31c1a61382ca894aacb Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Tue, 8 Nov 2016 13:19:39 +0000 Subject: [PATCH] Bug 17585: Add the Koha::Patron->get_account_lines method Test plan: prove t/db_dependent/Koha/Patrons.t should return green --- Koha/Patron.pm | 12 ++++++++++++ t/db_dependent/Koha/Patrons.t | 26 +++++++++++++++++++++++++- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/Koha/Patron.pm b/Koha/Patron.pm index 577920e..556045c 100644 --- a/Koha/Patron.pm +++ b/Koha/Patron.pm @@ -507,6 +507,18 @@ sub get_overdues { return $issues; } +=head3 get_account_lines + +my $fines = $patron->get_account_lines + +=cut + +sub get_account_lines { + my ($self) = @_; + my $account_lines = $self->_result->accountlines; + return Koha::Account::Lines->_new_from_dbic($account_lines); +} + =head3 type =cut diff --git a/t/db_dependent/Koha/Patrons.t b/t/db_dependent/Koha/Patrons.t index 4914f32..b9d3a46 100644 --- a/t/db_dependent/Koha/Patrons.t +++ b/t/db_dependent/Koha/Patrons.t @@ -19,7 +19,7 @@ use Modern::Perl; -use Test::More tests => 15; +use Test::More tests => 16; use Test::Warn; use DateTime; @@ -636,6 +636,30 @@ subtest 'get_overdues' => sub { $patron->delete; }; +subtest 'get_account_lines' => sub { + plan tests => 2; + + my $patron = $builder->build({source => 'Borrower'}); + + my $accountline_1 = $builder->build({ source => 'Accountline', + value => { borrowernumber => $patron->{borrowernumber}, + amount => 42, + amountoutstanding => 42 } + }); + my $accountline_2 = $builder->build({ source => 'Accountline', + value => { borrowernumber => $patron->{borrowernumber}, + amount => -13, + amountoutstanding => -13 } + }); + + $patron = Koha::Patrons->find( $patron->{borrowernumber} ); + my $account_lines = $patron->get_account_lines; + is( $account_lines->count, 2, 'There should have 2 account lines for that patron' ); + is( ref($account_lines), 'Koha::Account::Lines', 'get_account_lines should return a Koha::Account::Lines object' ); + + $patron->delete; +}; + $retrieved_patron_1->delete; is( Koha::Patrons->search->count, $nb_of_patrons + 1, 'Delete should have deleted the patron' ); -- 2.1.4