Revision 25230b8c
Von Jan Büren vor etwa 5 Jahren hinzugefügt
t/bank/bank_transactions.t | ||
---|---|---|
1 |
use Test::More tests => 282;
|
|
1 |
use Test::More tests => 290;
|
|
2 | 2 |
|
3 | 3 |
use strict; |
4 | 4 |
|
... | ... | |
15 | 15 |
use SL::DB::Buchungsgruppe; |
16 | 16 |
use SL::DB::Currency; |
17 | 17 |
use SL::DB::Customer; |
18 |
use SL::DB::Default; |
|
18 | 19 |
use SL::DB::Vendor; |
19 | 20 |
use SL::DB::Invoice; |
20 | 21 |
use SL::DB::Unit; |
... | ... | |
92 | 93 |
test_one_inv_and_two_invoices_with_skonto_exact(); |
93 | 94 |
test_bt_error(); |
94 | 95 |
test_full_workflow_ar_multiple_inv_skonto_reconciliate_and_undo(); |
95 |
|
|
96 | 96 |
reset_state(); |
97 | 97 |
test_sepa_export(); |
98 | 98 |
|
... | ... | |
101 | 101 |
reset_state(); |
102 | 102 |
test_two_banktransactions(); |
103 | 103 |
# remove all created data at end of test |
104 |
test_closedto(); |
|
104 | 105 |
clear_up(); |
105 | 106 |
|
106 | 107 |
done_testing(); |
... | ... | |
1171 | 1172 |
# is(scalar(@$proposals) , 1 , "$testname: one proposal"); |
1172 | 1173 |
|
1173 | 1174 |
}; |
1175 |
sub test_closedto { |
|
1176 |
|
|
1177 |
my $testname = 'closedto'; |
|
1178 |
|
|
1179 |
my $ar_transaction_1 = test_ar_transaction(invnumber => 'salesinv10000' , amount => 2912.00 ); |
|
1180 |
my $bt1 = create_bank_transaction(record => $ar_transaction_1, |
|
1181 |
amount => $ar_transaction_1->amount, |
|
1182 |
purpose => "Rechnung10000 beinahe", |
|
1183 |
bank_chart_id => $bank->id, |
|
1184 |
) or die "Couldn't create bank_transaction"; |
|
1185 |
|
|
1186 |
$bt1->valutadate(DateTime->new(year => 2019, month => 12, day => 30)); |
|
1187 |
$bt1->save(); |
|
1188 |
|
|
1189 |
is($bt1->closed_period, 0, "$testname undefined closedto"); |
|
1190 |
|
|
1191 |
my $defaults = SL::DB::Manager::Default->get_all(limit => 1)->[0]; |
|
1192 |
$defaults->closedto(DateTime->new(year => 2019, month => 12, day => 30)); |
|
1193 |
$defaults->save(); |
|
1194 |
$::instance_conf->reload->data; |
|
1195 |
$bt1->load(); |
|
1174 | 1196 |
|
1197 |
is($bt1->closed_period, 1, "$testname defined and same date closedto"); |
|
1198 |
|
|
1199 |
$bt1->valutadate(DateTime->new(year => 2019, month => 12, day => 31)); |
|
1200 |
$bt1->save(); |
|
1201 |
$bt1->load(); |
|
1202 |
|
|
1203 |
is($bt1->closed_period, 0, "$testname defined closedto and next date valuta"); |
|
1204 |
|
|
1205 |
} |
|
1175 | 1206 |
|
1176 | 1207 |
1; |
Auch abrufbar als: Unified diff
BankTransaction(closed_period) Prüft Valutadatum gegen closedto
Gibt 1 (wahr) zurück falls das Valutadatum der Bankbewegung
innerhalb einer geschloßenen Periode ist. Andernfalls 0.
POD, Test und 2 Stellen im Controller geändert.
Offen: Payment-Helper, der sollte allerdings nichts über den Zustand
der Bankbewegung wissen müssen ...