Bugzilla – Attachment 120345 Details for
Bug 27636
Replace Koha::Account::pay with a simpler method
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 27636: (QA follow-up) Unit tests for AutoReconcile
Bug-27636-QA-follow-up-Unit-tests-for-AutoReconcil.patch (text/plain), 7.25 KB, created by
Martin Renvoize (ashimema)
on 2021-04-30 15:04:25 UTC
(
hide
)
Description:
Bug 27636: (QA follow-up) Unit tests for AutoReconcile
Filename:
MIME Type:
Creator:
Martin Renvoize (ashimema)
Created:
2021-04-30 15:04:25 UTC
Size:
7.25 KB
patch
obsolete
>From ce96931a1ab427e185b47210240e963b588a7c13 Mon Sep 17 00:00:00 2001 >From: Martin Renvoize <martin.renvoize@ptfs-europe.com> >Date: Thu, 29 Apr 2021 07:39:21 +0100 >Subject: [PATCH] Bug 27636: (QA follow-up) Unit tests for AutoReconcile > >--- > t/db_dependent/Accounts.t | 80 ++++++++++++++++----------------------- > 1 file changed, 32 insertions(+), 48 deletions(-) > >diff --git a/t/db_dependent/Accounts.t b/t/db_dependent/Accounts.t >index e9f23fef36..caa9268888 100755 >--- a/t/db_dependent/Accounts.t >+++ b/t/db_dependent/Accounts.t >@@ -142,9 +142,9 @@ for my $data (@test_data) { > > $dbh->do(q|DELETE FROM accountlines|); > >-subtest "Koha::Account::pay tests" => sub { >+subtest "Koha::Account::pay - always AutoReconcile + notes tests" => sub { > >- plan tests => 13; >+ plan tests => 17; > > # Create a borrower > my $categorycode = $builder->build({ source => 'Category' })->{ categorycode }; >@@ -171,12 +171,10 @@ subtest "Koha::Account::pay tests" => sub { > > # There is $100 in the account > $sth = $dbh->prepare("SELECT amountoutstanding FROM accountlines WHERE borrowernumber=?"); >- my $amountoutstanding = $dbh->selectcol_arrayref($sth, {}, $borrower->borrowernumber); >- my $amountleft = 0; >- for my $line ( @$amountoutstanding ) { >- $amountleft += $line; >- } >- is($amountleft, 300, 'The account has 300$ as expected' ); >+ my $outstanding_debt = $account->outstanding_debits->total_outstanding; >+ is($outstanding_debt, 300, 'The account has $300 outstanding debt as expected' ); >+ my $outstanding_credit = $account->outstanding_credits->total_outstanding; >+ is($outstanding_credit, 0, 'The account has $0 outstanding credit as expected' ); > > # We make a $20 payment > my $borrowernumber = $borrower->borrowernumber; >@@ -188,72 +186,58 @@ subtest "Koha::Account::pay tests" => sub { > is( $accountline->payment_type, "TEST_TYPE", "Payment type passed into pay is set in account line correctly" ); > > # There is now $280 in the account >- $sth = $dbh->prepare("SELECT amountoutstanding FROM accountlines WHERE borrowernumber=?"); >- $amountoutstanding = $dbh->selectcol_arrayref($sth, {}, $borrower->borrowernumber); >- $amountleft = 0; >- for my $line ( @$amountoutstanding ) { >- $amountleft += $line; >- } >- is($amountleft, 280, 'The account has $280 as expected' ); >+ $outstanding_debt = $account->outstanding_debits->total_outstanding; >+ is($outstanding_debt, 280, 'The account has $280 outstanding debt as expected' ); >+ $outstanding_credit = $account->outstanding_credits->total_outstanding; >+ is($outstanding_credit, 0, 'The account has $0 outstanding credit as expected' ); > > # Is the payment note well registered >- $sth = $dbh->prepare("SELECT note FROM accountlines WHERE borrowernumber=? ORDER BY accountlines_id DESC LIMIT 1"); >- $sth->execute($borrower->borrowernumber); >- my $note = $sth->fetchrow_array; >- is($note,'$20.00 payment note', '$20.00 payment note is registered'); >+ is($accountline->note,'$20.00 payment note', '$20.00 payment note is registered'); > > # We attempt to make a -$30 payment (a NEGATIVE payment) > $data = '-30.00'; > $payment_note = '-$30.00 payment note'; >- throws_ok { $account->pay( { amount => $data, note => $payment_note } ) } 'Koha::Exceptions::Account::AmountNotPositive', 'Croaked on call to pay with negative amount'; >+ throws_ok { $account->pay( { amount => $data, note => $payment_note } ) } >+ 'Koha::Exceptions::Account::AmountNotPositive', >+ 'Croaked on call to pay with negative amount'; > > #We make a $150 payment ( > 1stLine ) > $data = '150.00'; > $payment_note = '$150.00 payment note'; >- $account->pay( { amount => $data, note => $payment_note } ); >+ $id = $account->pay( { amount => $data, note => $payment_note } )->{payment_id}; > > # There is now $130 in the account >- $sth = $dbh->prepare("SELECT amountoutstanding FROM accountlines WHERE borrowernumber=?"); >- $amountoutstanding = $dbh->selectcol_arrayref($sth, {}, $borrower->borrowernumber); >- $amountleft = 0; >- for my $line ( @$amountoutstanding ) { >- $amountleft += $line; >- } >- is($amountleft, 130, 'The account has $130 as expected' ); >+ $outstanding_debt = $account->outstanding_debits->total_outstanding; >+ is($outstanding_debt, 130, 'The account has $130 outstanding debt as expected' ); >+ $outstanding_credit = $account->outstanding_credits->total_outstanding; >+ is($outstanding_credit, 0, 'The account has $0 outstanding credit as expected' ); > > # Is the payment note well registered >- $sth = $dbh->prepare("SELECT note FROM accountlines WHERE borrowernumber=? ORDER BY accountlines_id DESC LIMIT 1"); >- $sth->execute($borrower->borrowernumber); >- $note = $sth->fetchrow_array; >- is($note,'$150.00 payment note', '$150.00 payment note is registered'); >+ $accountline = Koha::Account::Lines->find( $id ); >+ is($accountline->note,'$150.00 payment note', '$150.00 payment note is registered'); > > #We make a $200 payment ( > amountleft ) > $data = '200.00'; > $payment_note = '$200.00 payment note'; >- $account->pay( { amount => $data, note => $payment_note } ); >+ $id = $account->pay( { amount => $data, note => $payment_note } )->{payment_id}; > > # There is now -$70 in the account >- $sth = $dbh->prepare("SELECT amountoutstanding FROM accountlines WHERE borrowernumber=?"); >- $amountoutstanding = $dbh->selectcol_arrayref($sth, {}, $borrower->borrowernumber); >- $amountleft = 0; >- for my $line ( @$amountoutstanding ) { >- $amountleft += $line; >- } >- is($amountleft, -70, 'The account has -$70 as expected, (credit situation)' ); >+ $outstanding_debt = $account->outstanding_debits->total_outstanding; >+ is($outstanding_debt, 0, 'The account has $0 outstanding debt as expected' ); >+ $outstanding_credit = $account->outstanding_credits->total_outstanding; >+ is($outstanding_credit, -70, 'The account has -$70 outstanding credit as expected' ); > > # Is the payment note well registered >- $sth = $dbh->prepare("SELECT note FROM accountlines WHERE borrowernumber=? ORDER BY accountlines_id DESC LIMIT 1"); >- $sth->execute($borrower->borrowernumber); >- $note = $sth->fetchrow_array; >- is($note,'$200.00 payment note', '$200.00 payment note is registered'); >+ $accountline = Koha::Account::Lines->find( $id ); >+ is($accountline->note,'$200.00 payment note', '$200.00 payment note is registered'); > > my $line3 = $account->add_debit({ type => 'ACCOUNT', amount => 42, interface => 'commandline' }); >- my $payment_id = $account->pay( { lines => [$line3], amount => 42 } )->{payment_id}; >- my $payment = Koha::Account::Lines->find( $payment_id ); >- is( $payment->amount()+0, -42, "Payment paid the specified fine" ); >+ $id = $account->pay( { lines => [$line3], amount => 42 } )->{payment_id}; >+ $accountline = Koha::Account::Lines->find( $id ); >+ is( $accountline->amount()+0, -42, "Payment paid the specified fine" ); > $line3 = Koha::Account::Lines->find( $line3->id ); > is( $line3->amountoutstanding+0, 0, "Specified fine is paid" ); >- is( $payment->branchcode, undef, 'branchcode passed, then undef' ); >+ is( $accountline->branchcode, undef, 'branchcode passed, then undef' ); > }; > > subtest "Koha::Account::pay particular line tests" => sub { >-- >2.20.1
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 27636
:
116393
|
118471
|
118515
|
118516
|
118522
|
118523
|
119205
|
119206
|
119207
|
119242
|
119243
|
119244
|
120022
|
120023
|
120024
|
120089
|
120090
|
120091
|
120257
|
120258
|
120259
|
120262
|
120263
|
120270
|
120271
|
120272
|
120276
|
120294
|
120343
|
120344
| 120345