X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=t%2Fpart%2Fassortment.t;h=46e35de3ddc084348a3afc40538daeb5494175ac;hb=290c0ec47d9cbd9e4c3a6cfd129242cd0ebf3b4b;hp=0aea4478436cc7528e0dc680b1674e08847d5c6f;hpb=5b6df6e8f5b2993c1606d1db4163ec9d9134a13f;p=kivitendo-erp.git diff --git a/t/part/assortment.t b/t/part/assortment.t index 0aea44784..46e35de3d 100644 --- a/t/part/assortment.t +++ b/t/part/assortment.t @@ -5,59 +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"); -is( $assortment->part_type, 'assortment', 'assortment has correct part_type'); -is( scalar @{$assortment->assortment_items}, 2, 'assortment has two parts' ); +$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}, 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', - )->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);