X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=t%2Fdb_helper%2Fconvert_invoice.t;h=62adec4c5b94ef24bebed3f1a9b8ab9f1c0625b7;hb=bfa674c9d4edc551afa6e27aac6f684a7b8cb656;hp=0a9c622708b6a969e5925b089104439aa2065d98;hpb=6fda75b17b61528a722d51f7c0e244d7640c9006;p=kivitendo-erp.git diff --git a/t/db_helper/convert_invoice.t b/t/db_helper/convert_invoice.t index 0a9c62270..62adec4c5 100644 --- a/t/db_helper/convert_invoice.t +++ b/t/db_helper/convert_invoice.t @@ -1,4 +1,4 @@ -use Test::More tests => 41; +use Test::More tests => 75; use strict; @@ -22,14 +22,15 @@ use SL::DB::DeliveryOrder; use SL::DB::Part; use SL::DB::Unit; -use SL::Dev::ALL; +use SL::Dev::ALL qw(:ALL); my ($customer, $employee, $payment_do, $unit, @parts, $department); +my ($transdate); my $VISUAL_TEST = 0; # just a sleep to click around sub clear_up { - foreach (qw(DeliveryOrderItem DeliveryOrder InvoiceItem Invoice Part Customer Department PaymentTerm)) { + foreach (qw(DeliveryOrderItem DeliveryOrder OrderItem Order InvoiceItem Invoice Part Customer Department PaymentTerm)) { "SL::DB::Manager::${_}"->delete_all(all => 1); } SL::DB::Manager::Employee->delete_all(where => [ login => 'testuser' ]); @@ -40,8 +41,11 @@ sub reset_state { clear_up(); + $transdate = DateTime->today_local; + $transdate->set_year(2019) if $transdate->year == 2020; # use year 2019 in 2020, because of tax rate change in Germany + $unit = SL::DB::Manager::Unit->find_by(name => 'kg') || die "Can't find unit 'kg'"; - $customer = SL::Dev::CustomerVendor::create_customer->save; + $customer = new_customer()->save; $employee = SL::DB::Employee->new( 'login' => 'testuser', @@ -52,7 +56,7 @@ sub reset_state { 'description' => 'Test Department', )->save; - $payment_do = SL::Dev::Payment::create_payment_terms( + $payment_do = create_payment_terms( 'description' => '14Tage 2%Skonto, 30Tage netto', 'description_long' => "Innerhalb von 14 Tagen abzüglich 2 % Skonto, innerhalb von 30 Tagen rein netto.|Bei einer Zahlung bis zum <%skonto_date%> gewähren wir 2 % Skonto (EUR <%skonto_amount%>) entspricht EUR <%total_wo_skonto%>.Bei einer Zahlung bis zum <%netto_date%> ist der fällige Betrag in Höhe von <%total%> <%currency%> zu überweisen.", 'percent_skonto' => '0.02', @@ -62,7 +66,7 @@ sub reset_state { # two real parts @parts = (); - push @parts, SL::Dev::Part::create_part( + push @parts, new_part( description => "description 1", lastcost => '49.95000', listprice => '0.00000', @@ -72,7 +76,7 @@ sub reset_state { weight => '0.79', )->save; - push @parts, SL::Dev::Part::create_part( + push @parts, new_part( description => "description 2", lastcost => '153.00000', listprice => '0.00000', @@ -89,8 +93,9 @@ Support::TestSetup::login(); reset_state(); # we create L20199 with two items -my $do1 = SL::Dev::Record::create_sales_delivery_order( +my $do1 = create_sales_delivery_order( 'department_id' => $department->id, + 'transdate' => $transdate, 'donumber' => 'L20199', 'employee_id' => $employee->id, 'intnotes' => 'some intnotes', @@ -103,7 +108,7 @@ my $do1 = SL::Dev::Record::create_sales_delivery_order( 'customer_id' => $customer->id, 'notes' => '', orderitems => [ - SL::Dev::Record::create_delivery_order_item( + create_delivery_order_item( part => $parts[0], discount => '0.25', lastcost => '49.95000', @@ -113,7 +118,7 @@ my $do1 = SL::Dev::Record::create_sales_delivery_order( sellprice => '242.20000', unit => $unit->name, ), - SL::Dev::Record::create_delivery_order_item( + create_delivery_order_item( part => $parts[1], discount => '0.25', lastcost => '153.00000', @@ -122,7 +127,8 @@ my $do1 = SL::Dev::Record::create_sales_delivery_order( transdate => '06.03.2015', unit => $unit->name, ) - ] + ], + transaction_description => 'Liefervorgang', ); @@ -144,7 +150,7 @@ is (SL::DB::Manager::DeliveryOrderItem->get_all_count(where => [ delivery_order_ # convert this do to invoice -my $invoice = $do1->convert_to_invoice(); +my $invoice = $do1->convert_to_invoice(transdate => $transdate, attributes => {transaction_description => 'Rechnungsvorgang'}); sleep (300) if $VISUAL_TEST; # we can do a real visual test via gui login # test invoice afterwards @@ -157,48 +163,15 @@ ok ($invoice->notes eq '