Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision ef7e9ebd

Von Kivitendo Admin vor fast 8 Jahren hinzugefügt

  • ID ef7e9ebd2580220c889a8e94579a5a5e246548a2
  • Vorgänger 6fda75b1
  • Nachfolger 25112bf2

sales_order_with_periodic_invoices_config.t mit SL::Dev refactored

Unterschiede anzeigen:

t/controllers/financial_controlling/sales_order_with_periodic_invoices_config.t
use Carp;
use Support::TestSetup;
use SL::Dev::ALL;
use_ok 'SL::BackgroundJob::CreatePeriodicInvoices';
use_ok 'SL::Controller::FinancialControllingReport';
......
Support::TestSetup::login();
our ($ar_chart, $buchungsgruppe, $ctrl, $currency_id, $customer, $employee, $order, $part, $tax_zone, $unit, @invoices);
our ($ar_chart, $ctrl, $customer, $order, $part, $unit, @invoices);
sub cleanup {
"SL::DB::Manager::${_}"->delete_all(all => 1) for qw(InvoiceItem Invoice OrderItem Order Customer Part);
}
sub init_common_state {
$ar_chart = SL::DB::Manager::Chart->find_by(accno => '1400') || croak "No AR chart";
$buchungsgruppe = SL::DB::Manager::Buchungsgruppe->find_by(description => 'Standard 19%') || croak "No accounting group";
$currency_id = SL::DB::Default->get->currency_id;
$employee = SL::DB::Manager::Employee->current || croak "No employee";
$tax_zone = SL::DB::Manager::TaxZone->find_by( description => 'Inland') || croak "No taxzone";
$unit = SL::DB::Manager::Unit->find_by(name => 'psch') || croak "No unit";
$ar_chart = SL::DB::Manager::Chart->find_by(accno => '1400') || croak "No AR chart";
$unit = SL::DB::Manager::Unit->find_by(name => 'psch') || croak "No unit";
}
sub create_sales_order {
......
cleanup();
$params{$_} ||= {} for qw(customer part tax order orderitem);
$params{$_} ||= {} for qw(customer part order orderitem);
$customer = SL::DB::Customer->new(
$customer = SL::Dev::CustomerVendor::create_customer(
name => 'Test Customer',
currency_id => $currency_id,
taxzone_id => $tax_zone->id,
%{ $params{customer} }
)->save;
$part = SL::DB::Part->new(
$part = SL::Dev::Part::create_part(
partnumber => 'T4254',
description => 'Fourty-two fifty-four',
lastcost => 222.22,
sellprice => 333.33,
part_type => 'part',
buchungsgruppen_id => $buchungsgruppe->id,
unit => $unit->name,
%{ $params{part} }
)->save;
$part->load;
$order = SL::DB::Order->new(
customer_id => $customer->id,
currency_id => $currency_id,
taxzone_id => $tax_zone->id,
$order = SL::Dev::Record::create_sales_order(
save => 1,
customer => $customer,
transaction_description => '<%period_start_date%>',
transdate => DateTime->from_kivitendo('01.03.2014'),
orderitems => [
{ parts_id => $part->id,
description => $part->description,
lastcost => $part->lastcost,
sellprice => $part->sellprice,
qty => 1,
unit => $unit->name,
%{ $params{orderitem} },
},
],
SL::Dev::Record::create_order_item(
part => $part,
qty => 1,
%{ $params{orderitem} },
),
],
periodic_invoices_config => $params{periodic_invoices_config} ? {
active => 1,
ar_chart_id => $ar_chart->id,
......
%{ $params{order} },
);
$order->calculate_prices_and_taxes;
ok($order->save(cascade => 1));
$::form = Support::TestSetup->create_new_form;
$ctrl = SL::Controller::FinancialControllingReport->new;

Auch abrufbar als: Unified diff