Merge branch 'b-3.6.1' of ../kivitendo-erp_20220811
[kivitendo-erp.git] / t / part / assortment.t
diff --git a/t/part/assortment.t b/t/part/assortment.t
new file mode 100644 (file)
index 0000000..46e35de
--- /dev/null
@@ -0,0 +1,41 @@
+use strict;
+use Test::More;
+
+use lib 't';
+use Support::TestSetup;
+use Carp;
+use Test::Exception;
+use SL::DB::Part;
+use SL::Dev::Part qw(new_assortment);
+
+Support::TestSetup::login();
+
+clear_up();
+
+my $assortment = new_assortment( assnumber       => 'aso1',
+                                 description     => "Assortment 1",
+                                 number_of_parts => 10,
+                                                 )->save;
+
+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},  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, 'aso1', "assortment_item links back to correct assortment");
+
+clear_up();
+done_testing;
+
+sub clear_up {
+  SL::DB::Manager::AssortmentItem->delete_all(all => 1);
+  SL::DB::Manager::Part->delete_all(          all => 1);
+};
+
+
+1;