@@ -, +, @@ prove t/db_dependent/Koha/Patrons.t --- Koha/Patron.pm | 12 ++++++++++++ t/db_dependent/Koha/Patrons.t | 26 +++++++++++++++++++++++++- 2 files changed, 37 insertions(+), 1 deletion(-) --- a/Koha/Patron.pm +++ a/Koha/Patron.pm @@ -519,6 +519,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 --- a/t/db_dependent/Koha/Patrons.t +++ a/t/db_dependent/Koha/Patrons.t @@ -19,7 +19,7 @@ use Modern::Perl; -use Test::More tests => 14; +use Test::More tests => 16; use Test::Warn; use DateTime; @@ -471,6 +471,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' ); --