From 5ce61085c4dc3b7eab4025b64aaa7f7ebe14afe6 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Mon, 23 Oct 2017 11:01:25 -0400 Subject: [PATCH] Bug 12768 [QA Followup] - Use specific account offset types for Processing Fee and Lost Item --- C4/Accounts.pm | 7 ++++++- installer/data/mysql/account_offset_types.sql | 1 + installer/data/mysql/atomicupdate/processing_fee.sql | 1 + t/db_dependent/Circulation/Chargelostitem.t | 9 ++++++++- 4 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 installer/data/mysql/atomicupdate/processing_fee.sql diff --git a/C4/Accounts.pm b/C4/Accounts.pm index 7daff23..5fcbba0 100644 --- a/C4/Accounts.pm +++ b/C4/Accounts.pm @@ -230,10 +230,15 @@ sub manualinvoice { } )->store(); + my $offset_type = + $type eq 'L' ? 'Lost Item' + : $type eq 'PF' ? 'Processing Fee' + : 'Manual Debit'; + my $account_offset = Koha::Account::Offset->new( { debit_id => $accountline->id, - type => 'Manual Debit', + type => $offset_type, amount => $amount, } )->store(); diff --git a/installer/data/mysql/account_offset_types.sql b/installer/data/mysql/account_offset_types.sql index 2f9004c..a0f2fb1 100644 --- a/installer/data/mysql/account_offset_types.sql +++ b/installer/data/mysql/account_offset_types.sql @@ -2,6 +2,7 @@ INSERT INTO account_offset_types ( type ) VALUES ('Writeoff'), ('Payment'), ('Lost Item'), +('Processing Fee'), ('Manual Debit'), ('Reverse Payment'), ('Forgiven'), diff --git a/installer/data/mysql/atomicupdate/processing_fee.sql b/installer/data/mysql/atomicupdate/processing_fee.sql new file mode 100644 index 0000000..98b9827 --- /dev/null +++ b/installer/data/mysql/atomicupdate/processing_fee.sql @@ -0,0 +1 @@ +INSERT IGNORE INTO account_offset_types ( type ) VALUES ( 'Processing Fee' ); diff --git a/t/db_dependent/Circulation/Chargelostitem.t b/t/db_dependent/Circulation/Chargelostitem.t index 3ffb295..bb2f230 100644 --- a/t/db_dependent/Circulation/Chargelostitem.t +++ b/t/db_dependent/Circulation/Chargelostitem.t @@ -2,7 +2,7 @@ use Modern::Perl; -use Test::More tests => 4; +use Test::More tests => 6; use Test::MockModule; use t::lib::Mocks; use t::lib::TestBuilder; @@ -62,6 +62,7 @@ AddIssue($borrower, '0101'); AddIssue($borrower, '0203'); # Begin tests... +Koha::Account::Offsets->delete(); my $issue = Koha::Checkouts->search( { borrowernumber => $borrowernumber } )->next()->unblessed(); C4::Accounts::chargelostitem( $borrowernumber, $issue->{itemnumber}, '1.00'); @@ -70,3 +71,9 @@ my $accountline = Koha::Account::Lines->search( { borrowernumber => $borrowernum is( int($accountline->amount), $itemtype->{processfee}, "The accountline amount should be precessfee value " ); is( $accountline->itemnumber, $itemnumber1, "The accountline itemnumber should the linked with barcode '0101'" ); is( $accountline->note, C4::Context->preference("ProcessingFeeNote"), "The accountline description should be 'test'" ); + +my $lost_ao = Koha::Account::Offsets->single( { type => 'Lost Item' } ); +ok( $lost_ao, 'Account offset of type "Lost Item" created' ); + +my $processing_fee_ao = Koha::Account::Offsets->single( { type => 'Processing Fee' } ); +ok( $processing_fee_ao, 'Account offset of type "Processing Fee" created' ); -- 2.10.2