X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/4270e94242a347cfd105f876d52d1e38b5ca6a19..653af2fb9905199b0916ddf704cb983e1a769eb2:/t/gl/gl.t diff --git a/t/gl/gl.t b/t/gl/gl.t index 8cc0f6afd..ab08ee599 100644 --- a/t/gl/gl.t +++ b/t/gl/gl.t @@ -1,5 +1,5 @@ use strict; -use Test::More tests => 4; +use Test::More tests => 8; use lib 't'; use Support::TestSetup; @@ -257,6 +257,124 @@ is_deeply(&get_account_balances, "chart balances ok" ); +note "testing automatic tax 19%"; + +my $gl_transaction_7 = SL::DB::GLTransaction->new( + reference => 'betriebsbedarf tax not included', + description => 'bar', + taxincluded => 0, + transdate => DateTime->new(year => 2019, month => 12, day => 30), +); + +$gl_transaction_7->add_chart_booking(%{$_}) foreach ( + { + chart => $betriebsbedarf, + debit => 100, + }, + { + chart => $betriebsbedarf, + debit => 100, + }, + { + chart => $betriebsbedarf, + debit => 100, + tax_id => $tax_0->id, + }, + { + chart => $cash, + credit => 338, + }, +); +$gl_transaction_7->post; + +is(SL::DB::Manager::GLTransaction->get_all_count(), 9, "gl transactions created ok"); +is_deeply(&get_account_balances, + [ + { + 'accno' => '1000', + 'sum' => '1328.14000' + }, + { + 'accno' => '1200', + 'sum' => '-100.00000' + }, + { + 'accno' => '1571', + 'sum' => '-14.00000' + }, + { + 'accno' => '1576', + 'sum' => '-114.02000' + }, + { + 'accno' => '4980', + 'sum' => '-1100.12000' + } + ], + "chart balances ok" + ); + +note "testing automatic tax 16%"; + +my $gl_transaction_8 = SL::DB::GLTransaction->new( + reference => 'betriebsbedarf tax not included', + description => 'bar', + taxincluded => 0, + transdate => DateTime->new(year => 2020, month => 12, day => 31), +); + +$gl_transaction_8->add_chart_booking(%{$_}) foreach ( + { + chart => $betriebsbedarf, + debit => 100, + }, + { + chart => $betriebsbedarf, + debit => 100, + }, + { + chart => $betriebsbedarf, + debit => 100, + tax_id => $tax_0->id, + }, + { + chart => $cash, + credit => 332, + }, +); +$gl_transaction_8->post; + +is(SL::DB::Manager::GLTransaction->get_all_count(), 10, "gl transactions created ok"); +is_deeply(&get_account_balances, + [ + { + 'accno' => '1000', + 'sum' => '1660.14000' + }, + { + 'accno' => '1200', + 'sum' => '-100.00000' + }, + { + 'accno' => '1571', + 'sum' => '-14.00000' + }, + { + 'accno' => '1575', + 'sum' => '-32.00000' + }, + { + 'accno' => '1576', + 'sum' => '-114.02000' + }, + { + 'accno' => '4980', + 'sum' => '-1400.12000' + } + ], + "chart balances ok" + ); + done_testing; clear_up();