X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/66fcb1c6c46c36bd30cb6fdcca4a43e7c57c1ac6..8e5b1f0e363dd22883e931006b8ac414bad9bbc5:/t/db_helper/convert_invoice.t diff --git a/t/db_helper/convert_invoice.t b/t/db_helper/convert_invoice.t index f883cd504..dc2135261 100644 --- a/t/db_helper/convert_invoice.t +++ b/t/db_helper/convert_invoice.t @@ -1,4 +1,4 @@ -use Test::More tests => 38; +use Test::More tests => 42; use strict; @@ -41,13 +41,23 @@ sub reset_state { clear_up(); - $buchungsgruppe = SL::DB::Manager::Buchungsgruppe->find_by(description => 'Standard 19%', %{ $params{buchungsgruppe} }) || croak "No accounting group 19\%"; - $buchungsgruppe7 = SL::DB::Manager::Buchungsgruppe->find_by(description => 'Standard 7%', %{ $params{buchungsgruppe} }) || croak "No accounting group 7\%"; - $taxzone = SL::DB::Manager::TaxZone->find_by( description => 'Inland') || croak "No taxzone"; - $tax = SL::DB::Manager::Tax->find_by(taxkey => 3, rate => 0.19, %{ $params{tax} }) || croak "No tax for 19\%"; - $tax7 = SL::DB::Manager::Tax->find_by(taxkey => 2, rate => 0.07) || croak "No tax for 7\%"; - $unit = SL::DB::Manager::Unit->find_by(name => 'kg', %{ $params{unit} }) || croak "No unit"; - $currency_id = $::instance_conf->get_currency_id; + if ($::lx_office_conf{system}->{default_manager} eq "swiss") { + $buchungsgruppe = SL::DB::Manager::Buchungsgruppe->find_by(description => 'Standard 8%', %{ $params{buchungsgruppe} }) || croak "No accounting group 8\%"; + $buchungsgruppe7 = SL::DB::Manager::Buchungsgruppe->find_by(description => 'Standard 2.5%', %{ $params{buchungsgruppe} })|| croak "No accounting group 2.5\%"; + $taxzone = SL::DB::Manager::TaxZone->find_by( description => 'Schweiz') || croak "No taxzone"; + $tax = SL::DB::Manager::Tax->find_by(taxkey => 2, rate => 0.08, %{ $params{tax} }) || croak "No tax for 8\%"; + $tax7 = SL::DB::Manager::Tax->find_by(taxkey => 3, rate => 0.025) || croak "No tax for 2.5\%"; + $unit = SL::DB::Manager::Unit->find_by(name => 'kg', %{ $params{unit} }) || croak "No unit"; + $currency_id = $::instance_conf->get_currency_id; + } else { + $buchungsgruppe = SL::DB::Manager::Buchungsgruppe->find_by(description => 'Standard 19%', %{ $params{buchungsgruppe} }) || croak "No accounting group 19\%"; + $buchungsgruppe7 = SL::DB::Manager::Buchungsgruppe->find_by(description => 'Standard 7%', %{ $params{buchungsgruppe} }) || croak "No accounting group 7\%"; + $taxzone = SL::DB::Manager::TaxZone->find_by( description => 'Inland') || croak "No taxzone"; + $tax = SL::DB::Manager::Tax->find_by(taxkey => 3, rate => 0.19, %{ $params{tax} }) || croak "No tax for 19\%"; + $tax7 = SL::DB::Manager::Tax->find_by(taxkey => 2, rate => 0.07) || croak "No tax for 7\%"; + $unit = SL::DB::Manager::Unit->find_by(name => 'kg', %{ $params{unit} }) || croak "No unit"; + $currency_id = $::instance_conf->get_currency_id; + } $customer = SL::DB::Customer->new( name => '520484567dfaedc9e60fc', @@ -98,7 +108,7 @@ sub reset_state { 'sellprice' => '242.20000', #'warehouse_id' => 64702, 'weight' => '0.79', - description => "Nussbaum, Gr.5, Unterfilz weinrot, genietet[[Aufschnittbreite: 11,0, Kernform: US]]\"" , + description => "Pflaumenbaum, Gr.5, Unterfilz weinrot, genietet[[Aufschnittbreite: 11,0, Kernform: US]]\"" , buchungsgruppen_id => $buchungsgruppe->id, unit => $unit->name, id => 26321, @@ -142,9 +152,9 @@ reset_state(); my $do1 = new_delivery_order('department_id' => 32149, 'donumber' => 'L20199', 'employee_id' => 31915, - 'intnotes' => 'Achtung: Neue Lieferadresse ab 16.02.2015 in der Carl-von-Ossietzky-Str.32! 13.02.2015/MH + 'intnotes' => 'Achtung: Neue Lieferadresse ab 16.02.2015 in der Otto-Merck-Str. 7a! 13.02.2015/MH - Steinway-Produkte (201...) immer plus 25% dazu rechnen / BK 13.02.2014', + Yamaha-Produkte (201...) immer plus 25% dazu rechnen / BK 13.02.2014', 'ordnumber' => 'A16399', 'payment_id' => 11276, 'salesman_id' => 31915, @@ -158,16 +168,17 @@ my $do1 = new_delivery_order('department_id' => 32149, 'cusordnumber' => 'b84da', 'customer_id' => $customer->id, 'id' => 464003, + 'notes' => '', ); my $do1_item1 = SL::DB::DeliveryOrderItem->new('delivery_order_id' => 464003, 'description' => "Flügel Hammerkopf bestehend aus: Bass/Diskant 26/65 Stück, Gesamtlänge 80/72, Bohrlänge 56/48 - Nussbaum, Gr.5, Unterfilz weinrot, genietet[[Aufschnittbreite: 11,0, Kernform: US]]", + Pflaumenbaum, Gr.5, Unterfilz weinrot, genietet[[Aufschnittbreite: 11,0, Kernform: US]]", 'discount' => '0.25', 'id' => 144736, 'lastcost' => '49.95000', - 'longdescription' => '', + 'longdescription' => "
  1. 27
  2. 28
  3. 29
  4. asdf
  5. asdf
  6. oben

kommt nicht mehr vor

", 'marge_price_factor' => 1, 'mtime' => undef, 'ordnumber' => 'A16399', @@ -211,11 +222,14 @@ Kapseln mit Yamaha Profil, Kerbenabstand 3,6 mm mit eingedrehten Abnickschrauben # test delivery order before any conversion ok($do1->donumber eq "L20199", 'Delivery Order Number created'); +ok($do1->notes eq '', "do RichText notes saved"); ok((not $do1->closed) , 'Delivery Order is not closed'); ok($do1_item1->parts_id eq '26321', 'doi linked with part'); ok($do1_item1->qty == 2, 'qty check doi'); -ok($do1_item2->position == 2, 'doi2 position check'); -ok(2 == scalar@{ SL::DB::Manager::DeliveryOrderItem->get_all(where => [ delivery_order_id => $do1->id ]) }, 'two doi linked'); +ok($do1_item1->longdescription eq "
  1. 27
  2. 28
  3. 29
  4. asdf
  5. asdf
  6. oben

kommt nicht mehr vor

", + "do item1 rich text longdescripition"); +ok ($do1_item2->position == 2, 'doi2 position check'); +ok (2 == scalar@{ SL::DB::Manager::DeliveryOrderItem->get_all(where => [ delivery_order_id => $do1->id ]) }, 'two doi linked'); # convert this do to invoice @@ -228,6 +242,7 @@ ok ($invoice->shipvia eq "DHL, Versand am 06.03.2015, 1 Paket 17,00 kg", "ship ok ($invoice->shippingpoint eq "Maisenhaus", "shipping point check"); ok ($invoice->ordnumber eq "A16399", "ordnumber check"); ok ($invoice->donumber eq "L20199", "donumber check"); +ok ($invoice->notes eq '', "do RichText notes saved"); ok(($do1->closed) , 'Delivery Order is closed after conversion'); ok (SL::DB::PaymentTerm->new(id => $invoice->{payment_id})->load->description eq "14Tage 2%Skonto, 30Tage netto", 'payment term description check'); @@ -270,7 +285,11 @@ $invoice->load; ok($invoice->currency_id eq '1', 'currency_id'); ok($invoice->cusordnumber eq 'b84da', 'cusordnumber check'); ok(SL::DB::Department->new(id => $invoice->{department_id})->load->description eq "Maisenhaus-Versand", 'department description'); -is($invoice->amount, '1354.17000', 'amount check'); +if ($::lx_office_conf{system}->{default_manager} eq "swiss") { + is($invoice->amount, '1229.00000', 'amount check'); +} else { + is($invoice->amount, '1354.17000', 'amount check'); +} is($invoice->marge_percent, '50.88580', 'marge percent check'); is($invoice->marge_total, '579.06000', 'marge total check'); is($invoice->netamount, '1137.96000', 'netamount check'); @@ -280,6 +299,8 @@ ok(@ {$invoice->items_sorted}[0]->parts_id eq '26321', 'invoiceitem 1 linked wit ok(2 == scalar@{ $invoice->invoiceitems }, 'two invoice items linked with invoice'); is(@ {$invoice->items_sorted}[0]->position, 1, "position 1 order correct"); is(@ {$invoice->items_sorted}[1]->position, 2, "position 2 order correct"); +is(@ {$invoice->items_sorted}[0]->longdescription, "
  1. 27
  2. 28
  3. 29
  4. asdf
  5. asdf
  6. oben

kommt nicht mehr vor

", + "invoice item1 rich text longdescripition"); is(@ {$invoice->items_sorted}[0]->part->partnumber, 'v-519160549', "partnumber 1 correct"); is(@ {$invoice->items_sorted}[1]->part->partnumber, 'v-120160086', "partnumber 2 correct"); is(@ {$invoice->items_sorted}[0]->qty, '2.00000', "pos 1 qty");