View | Details | Raw Unified | Return to bug 22610
Collapse All | Expand All

(-)a/t/db_dependent/SIP/Transaction.t (-2 / +42 lines)
Lines 4-10 Link Here
4
# Current state is very rudimentary. Please help to extend it!
4
# Current state is very rudimentary. Please help to extend it!
5
5
6
use Modern::Perl;
6
use Modern::Perl;
7
use Test::More tests => 4;
7
use Test::More tests => 5;
8
8
9
use Koha::Database;
9
use Koha::Database;
10
use t::lib::TestBuilder;
10
use t::lib::TestBuilder;
Lines 12-17 use t::lib::Mocks; Link Here
12
use C4::SIP::ILS::Patron;
12
use C4::SIP::ILS::Patron;
13
use C4::SIP::ILS::Transaction::RenewAll;
13
use C4::SIP::ILS::Transaction::RenewAll;
14
use C4::SIP::ILS::Transaction::Checkout;
14
use C4::SIP::ILS::Transaction::Checkout;
15
use C4::SIP::ILS::Transaction::FeePayment;
15
16
16
use C4::Reserves;
17
use C4::Reserves;
17
use Koha::IssuingRules;
18
use Koha::IssuingRules;
Lines 95-98 subtest fill_holds_at_checkout => sub { Link Here
95
    $transaction = C4::SIP::ILS::Transaction::Checkout->new();
96
    $transaction = C4::SIP::ILS::Transaction::Checkout->new();
96
    is( $sip_item->{barcode}, $item1->{barcode}, "Item assigned to transaction" );
97
    is( $sip_item->{barcode}, $item1->{barcode}, "Item assigned to transaction" );
97
};
98
};
99
100
subtest "FeePayment->pay tests" => sub {
101
102
    plan tests => 5;
103
104
    # Create a borrower and add some outstanding debts to their account
105
    my $patron = $builder->build( { source => 'Borrower' } );
106
    my $account =
107
      Koha::Account->new( { patron_id => $patron->{borrowernumber} } );
108
    my $debt1 = $account->add_debit(
109
        { type => 'account', amount => 100, interface => 'commandline' } );
110
    my $debt2 = $account->add_debit(
111
        { type => 'account', amount => 200, interface => 'commandline' } );
112
113
    # Instantiate a new FeePayment transaction object
114
    my $trans = C4::SIP::ILS::Transaction::FeePayment->new();
115
    is(
116
        ref $trans,
117
        "C4::SIP::ILS::Transaction::FeePayment",
118
        "New fee transaction created"
119
    );
120
121
    # Test the 'pay' method
122
    # FIXME: pay should not require a borrowernumber
123
    # (we should reach out to the transaction which should contain a patron object)
124
    my $pay_type = '00';    # 00 - Cash, 01 - VISA, 02 - Creditcard
125
    my $ok =
126
      $trans->pay( $patron->{borrowernumber}, 100, $pay_type, $debt1->id, 0,
127
        0 );
128
    ok( $ok, "FeePayment transaction succeeded" );
129
    $debt1->discard_changes;
130
    is( $debt1->amountoutstanding + 0, 0,
131
        "Debt1 was reduced to 0 as expected" );
132
    my $offsets = Koha::Account::Offsets->search(
133
        { debit_id => $debt1->id, credit_id => { '!=' => undef } } );
134
    is( $offsets->count, 1, "FeePayment produced an offset line correctly" );
135
    my $credit = $offsets->next->credit;
136
    is( $credit->payment_type, 'SIP00', "Payment type was set correctly" );
137
};
138
98
$schema->storage->txn_rollback;
139
$schema->storage->txn_rollback;
99
- 

Return to bug 22610