croak "no banktransaction.id passed to skonto_charts" unless $params{bt_id};
croak "no banktransaction.transdate passed to skonto_charts" unless ref $params{transdate_obj} eq 'DateTime';
+ $params{memo} //= '';
+ $params{source} //= '';
+
+
my $is_sales = $self->is_sales;
my (@skonto_charts, $inv_calc, $total_skonto_rounded);
-use Test::More tests => 291;
+use Test::More tests => 293;
use strict;
sub test_ar_transaction {
my (%params) = @_;
- my $netamount = $params{amount} || 100;
+ my $netamount = $::form->round_amount($params{amount}, 2) || 100;
my $amount = $::form->round_amount($netamount * 1.19,2);
my $invoice = SL::DB::Invoice->new(
invoice => 0,
$::form->{invoice_skontos} = {
$bt->id => [ 'with_skonto_pt' ]
};
-
+ is($ar_transaction->netamount, $::form->round_amount(168.58/1.19, 2), "$testname: Net Amount assigned");
+ is($ar_transaction->amount, 168.58, "$testname: Amount assigned");
is($ar_transaction->paid , '0' , "$testname: salesinv is not paid");
# generate an error for testing rollback mechanism
is($bt->invoice_amount , '299.29000' , "$testname: bt invoice amount was assigned partially paid amount");
is($bt->amount , '299.29000' , "$testname: bt amount is stil there");
is(scalar @{ SL::DB::Manager::BankTransactionAccTrans->get_all(where => [bank_transaction_id => $bt->id ] )},
- 7, "$testname 7 acc_trans entries created");
+ 9, "$testname 9 acc_trans entries created");
# same loop as above, but only for the 3rd ar_id
foreach my $acc_trans_id_entry (@{ SL::DB::Manager::BankTransactionAccTrans->get_all(where => [ar_id => $ar_transaction_skonto->id ] )}) {