X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=t%2Fpart%2Fassortment.t;h=46e35de3ddc084348a3afc40538daeb5494175ac;hb=a0ae7b99a32757f1ce42e0712429ebef554c6037;hp=8ad7e431026798b6f7578ecc24439271525a6b36;hpb=1ca40c6c7a84c32c38a60b2d31d3eb7b6030470b;p=kivitendo-erp.git diff --git a/t/part/assortment.t b/t/part/assortment.t index 8ad7e4310..46e35de3d 100644 --- a/t/part/assortment.t +++ b/t/part/assortment.t @@ -5,62 +5,33 @@ use lib 't'; use Support::TestSetup; use Carp; use Test::Exception; -use SL::DB::Unit; use SL::DB::Part; -use Data::Dumper; +use SL::Dev::Part qw(new_assortment); Support::TestSetup::login(); clear_up(); -reset_state(); -is( SL::DB::Manager::Part->get_all_count(), 3, "total number of parts created is 3"); +my $assortment = new_assortment( assnumber => 'aso1', + description => "Assortment 1", + number_of_parts => 10, + )->save; -my $assortment = SL::DB::Manager::Part->find_by( partnumber => 'as1' ); +is( SL::DB::Manager::Part->get_all_count(), 11, "total number of parts created is 11"); + +$assortment = SL::DB::Manager::Part->find_by( partnumber => 'aso1' ) or die "Can't find assortment with partnumber aso1"; is($assortment->part_type, 'assortment', 'assortment has correct part_type'); -is(scalar @{$assortment->assortment_items}, 2, 'assortment has two parts'); -is($assortment->assortment_sellprice_sum, 19.98, 'assortment sellprice sum ok'); -is($assortment->assortment_lastcost_sum, 13.32, 'assortment lastcost sum ok'); +is(scalar @{$assortment->assortment_items}, 10, 'assortment has 10 parts'); +is($assortment->items_sellprice_sum, 100, 'assortment sellprice sum ok'); +is($assortment->items_lastcost_sum, 50, 'assortment lastcost sum ok'); my $assortment_item = $assortment->assortment_items->[0]; -is( $assortment_item->assortment->partnumber, 'as1', "assortment_item links back to correct assortment"); +is( $assortment_item->assortment->partnumber, 'aso1', "assortment_item links back to correct assortment"); clear_up(); done_testing; -sub reset_state { - my %params = @_; - - my ($part1, $part2, $unit); - - # SL::DB::Manager::AssortmentItem->delete_all(all => 1); - # SL::DB::Manager::Part->delete_all(all => 1); - my ($part1, $part2, $unit, $assortment_part, $assortment_1, $assortment_2); - - my $unit = SL::DB::Manager::Unit->find_by(name => 'Stck') || die "Can't find unit 'Stck'"; - $part1 = SL::DB::Part->new_part( partnumber => '7777', - description => "assortment part 1", - unit => $unit->name, - sellprice => '3.33', - lastcost => '2.22', - )->save; - $part2 = $part1->clone_and_reset($part1); - $part2->partnumber( $part1->partnumber + 1 ); - $part2->description( "assortment part 2" ); - $part2->save; - - my $assortment_part = SL::DB::Part->new_assortment( partnumber => 'as1', - description => 'assortment', - sellprice => '0', - unit => $unit->name); - my $assortment_1 = SL::DB::AssortmentItem->new( parts_id => $part1->id, qty => 3, unit => $part1->unit, position => 1); - my $assortment_2 = SL::DB::AssortmentItem->new( parts_id => $part2->id, qty => 3, unit => $part2->unit, position => 2); - $assortment_part->add_assortment_items($assortment_1, $assortment_2); - $assortment_part->save or die "Couldn't save assortment"; - -}; - sub clear_up { SL::DB::Manager::AssortmentItem->delete_all(all => 1); SL::DB::Manager::Part->delete_all( all => 1);