Revision e7d334c9
Von Sven Schöling vor mehr als 7 Jahren hinzugefügt
t/helper/shipped_qty.t | ||
---|---|---|
71 | 71 |
] |
72 | 72 |
); |
73 | 73 |
|
74 |
Rose::DB::Object::Helpers::forget_related($purchase_order, 'orderitems'); |
|
75 |
$purchase_order->orderitems; |
|
76 |
|
|
74 | 77 |
SL::Helper::ShippedQty |
75 | 78 |
->new(require_stock_out => 1) # should make no difference while there is no delivery order |
76 | 79 |
->calculate($purchase_order) |
77 | 80 |
->write_to_objects; |
78 | 81 |
|
79 | 82 |
is($purchase_order->orderitems->[0]->{shipped_qty}, 0, "first purchase orderitem has no shipped_qty"); |
80 |
is($purchase_order->orderitems->[0]->{delivered}, '', "first purchase orderitem is not delivered");
|
|
83 |
ok(!$purchase_order->orderitems->[0]->{delivered}, "first purchase orderitem is not delivered");
|
|
81 | 84 |
|
82 | 85 |
my $purchase_orderitem_part1 = SL::DB::Manager::OrderItem->find_by( parts_id => $part1->id, trans_id => $purchase_order->id); |
83 | 86 |
|
84 | 87 |
is($purchase_orderitem_part1->shipped_qty, 0, "OrderItem shipped_qty method ok"); |
85 | 88 |
|
86 | 89 |
is($purchase_order->closed, 0, 'purchase order is open'); |
87 |
is($purchase_order->delivered, '', 'purchase order is not delivered');
|
|
90 |
ok(!$purchase_order->delivered, 'purchase order is not delivered');
|
|
88 | 91 |
|
89 | 92 |
note('converting purchase order to delivery order'); |
90 | 93 |
# create purchase delivery order from purchase order |
91 | 94 |
my $purchase_delivery_order = $purchase_order->convert_to_delivery_order; |
92 | 95 |
is($purchase_order->closed, 0, 'purchase order is open'); |
93 |
is($purchase_order->delivered, 1, 'purchase order is now delivered');
|
|
96 |
ok($purchase_order->delivered, 'purchase order is now delivered');
|
|
94 | 97 |
|
95 | 98 |
SL::Helper::ShippedQty |
96 | 99 |
->new(require_stock_out => 0) |
... | ... | |
98 | 101 |
->write_to_objects; |
99 | 102 |
|
100 | 103 |
is($purchase_order->orderitems->[0]->{shipped_qty}, 11, "require_stock_out => 0: first purchase orderitem has shipped_qty"); |
101 |
is($purchase_order->orderitems->[0]->{delivered}, 1, "require_stock_out => 0: first purchase orderitem is delivered");
|
|
104 |
ok($purchase_order->orderitems->[0]->{delivered}, "require_stock_out => 0: first purchase orderitem is delivered");
|
|
102 | 105 |
|
103 | 106 |
Rose::DB::Object::Helpers::forget_related($purchase_order, 'orderitems'); |
104 | 107 |
$purchase_order->orderitems; |
... | ... | |
109 | 112 |
->write_to_objects; |
110 | 113 |
|
111 | 114 |
is($purchase_order->orderitems->[0]->{shipped_qty}, 0, "require_stock_out => 1: first purchase orderitem has no shipped_qty"); |
112 |
is($purchase_order->orderitems->[0]->{delivered}, '', "require_stock_out => 1: first purchase orderitem is not delivered");
|
|
115 |
ok(!$purchase_order->orderitems->[0]->{delivered}, "require_stock_out => 1: first purchase orderitem is not delivered");
|
|
113 | 116 |
|
114 | 117 |
# ship items from delivery order |
115 | 118 |
SL::Dev::Inventory::transfer_purchase_delivery_order($purchase_delivery_order); |
... | ... | |
118 | 121 |
$purchase_order->orderitems; |
119 | 122 |
|
120 | 123 |
SL::Helper::ShippedQty |
121 |
->new(require_stock_out => 1) # shouldn't make a difference now after shipping |
|
124 |
->new(require_stock_out => 1, keep_matches => 1) # shouldn't make a difference now after shipping
|
|
122 | 125 |
->calculate($purchase_order) |
123 | 126 |
->write_to_objects; |
124 | 127 |
|
125 | 128 |
is($purchase_order->orderitems->[0]->{shipped_qty}, 11, "require_stock_out => 1: first purchase orderitem has shipped_qty"); |
126 |
is($purchase_order->orderitems->[0]->{delivered}, 1, "require_stock_out => 1: first purchase orderitem is delivered");
|
|
129 |
ok($purchase_order->orderitems->[0]->{delivered}, "require_stock_out => 1: first purchase orderitem is delivered");
|
|
127 | 130 |
|
128 | 131 |
my $purchase_orderitem_part2 = SL::DB::Manager::OrderItem->find_by(parts_id => $part1->id, trans_id => $purchase_order->id); |
129 | 132 |
|
... | ... | |
140 | 143 |
] |
141 | 144 |
); |
142 | 145 |
|
146 |
Rose::DB::Object::Helpers::forget_related($purchase_order, 'orderitems'); |
|
147 |
$sales_order->orderitems; |
|
148 |
|
|
143 | 149 |
SL::Helper::ShippedQty |
144 | 150 |
->new(require_stock_out => 1) # should make no difference while there is no delivery order |
145 | 151 |
->calculate($sales_order) |
146 | 152 |
->write_to_objects; |
147 | 153 |
|
148 | 154 |
is($sales_order->orderitems->[0]->{shipped_qty}, 0, "first sales orderitem has no shipped_qty"); |
149 |
is($sales_order->orderitems->[0]->{delivered}, '', "first sales orderitem is not delivered");
|
|
155 |
ok(!$sales_order->orderitems->[0]->{delivered}, "first sales orderitem is not delivered");
|
|
150 | 156 |
|
151 | 157 |
my $orderitem_part1 = SL::DB::Manager::OrderItem->find_by(parts_id => $part1->id, trans_id => $sales_order->id); |
152 | 158 |
my $orderitem_part2 = SL::DB::Manager::OrderItem->find_by(parts_id => $part2->id, trans_id => $sales_order->id); |
... | ... | |
162 | 168 |
->write_to_objects; |
163 | 169 |
|
164 | 170 |
is($sales_order->orderitems->[0]->{shipped_qty}, 5, "require_stock_out => 0: first sales orderitem has shipped_qty"); |
165 |
is($sales_order->orderitems->[0]->{delivered}, 1, "require_stock_out => 0: first sales orderitem is delivered");
|
|
171 |
ok($sales_order->orderitems->[0]->{delivered}, "require_stock_out => 0: first sales orderitem is delivered");
|
|
166 | 172 |
|
167 | 173 |
Rose::DB::Object::Helpers::forget_related($sales_order, 'orderitems'); |
168 | 174 |
$sales_order->orderitems; |
... | ... | |
173 | 179 |
->write_to_objects; |
174 | 180 |
|
175 | 181 |
is($sales_order->orderitems->[0]->{shipped_qty}, 0, "require_stock_out => 1: first sales orderitem has no shipped_qty"); |
176 |
is($sales_order->orderitems->[0]->{delivered}, '', "require_stock_out => 1: first sales orderitem is not delivered");
|
|
182 |
ok(!$sales_order->orderitems->[0]->{delivered}, "require_stock_out => 1: first sales orderitem is not delivered");
|
|
177 | 183 |
|
178 | 184 |
# ship items from delivery order |
179 | 185 |
SL::Dev::Inventory::transfer_sales_delivery_order($sales_delivery_order); |
... | ... | |
187 | 193 |
->write_to_objects; |
188 | 194 |
|
189 | 195 |
is($sales_order->orderitems->[0]->{shipped_qty}, 5, "require_stock_out => 1: first sales orderitem has no shipped_qty"); |
190 |
is($sales_order->orderitems->[0]->{delivered}, 1, "require_stock_out => 1: first sales orderitem is not delivered");
|
|
196 |
ok($sales_order->orderitems->[0]->{delivered}, "require_stock_out => 1: first sales orderitem is not delivered");
|
|
191 | 197 |
|
192 | 198 |
$orderitem_part1 = SL::DB::Manager::OrderItem->find_by(parts_id => $part1->id, trans_id => $sales_order->id); |
193 | 199 |
|
Auch abrufbar als: Unified diff
t/helper/shipped_qty.t: diverse Kleinigkeiten
- delivered flag is boolean und muss mit ok() geprüft werden falls
internas geändert werden
- wenn write_to in die items schreiben soll, müssen die auch vorher
geladen sein.