LD vor 5 Jahren
Ursprung
Commit
6400ccc6cd

+ 9 - 0
app/Traits/TestMockSubServices.php

@@ -44,4 +44,13 @@ trait TestMockSubServices{
             $this->data['$iName']=0;
         return $targetArr[$this->data['$iName']][$idName];
     }
+    function getIntegerIncreasely($markStr): int
+    {
+        $iName = 'i_' . $markStr;
+        if(!isset($this->data[$iName])){
+            $this->data[$iName]=-1;
+        }
+        $this->data[$iName]++;
+        return $this->data[$iName];
+    }
 }

+ 3 - 22
tests/Services/StationTaskCommodityService/CreateByBatchTest.php

@@ -38,33 +38,14 @@ class CreateByBatchTest extends TestCase
                 $this->orderAmount)
                 ->create([
                     'status'=>'未处理',
-                    'batch_id'=>(function(){
-                        if(!isset($this->data['temBatchId_orders'])){
-                            $this->data['temBatchId_orders']=$this->batchAmount;
-                        }
-                        $this->data['temBatchId_orders']++;
-                        if($this->data['temBatchId_orders']>=$this->batchAmount)$this->data['temBatchId_orders']=0;
-                        return $this->data['batches'][$this->data['temBatchId_orders']]['id'];
-                    })(),
+                    'batch_id'=>$this->getTargetIdCirculately($this->data['batches']),
                 ]);
         $this->data['orderBins'] =
             factory(OrderBin::class,
                 $this->orderAmount)
                 ->create([
-                    'order_id'=>(function(){
-                        if(!isset($this->data['temOrderId_ordersBins'])){
-                            $this->data['temOrderId_ordersBins']=-1;
-                        }
-                        $this->data['temOrderId_ordersBins']++;
-                        return $this->data['orders'][$this->data['temOrderId_ordersBins']]['id'];
-                    })(),
-                    'number'=>(function(){
-                        if(!isset($this->data['temNumber_ordersBins'])){
-                            $this->data['temNumber_ordersBins']=-1;
-                        }
-                        $this->data['temNumber_ordersBins']++;
-                        return $this->data['temNumber_ordersBins'];
-                    })(),
+                    'order_id'=>$this->getTargetIdCirculately($this->data['orders']),
+                    'number'=>$this->getIntegerIncreasely('orderBins_number'),
                 ]);
         $this->data['orderCommodities'] =
             factory(OrderCommodity::class,

+ 4 - 16
tests/Services/StationTaskCommodityService/CreateByBatchesTest.php

@@ -6,12 +6,14 @@ use App\Order;
 use App\OrderCommodity;
 use App\Services\StationTaskCommodityService;
 use App\Services\StationTaskService;
+use App\Traits\TestMockSubServices;
 use Tests\TestCase;
 use App\StationTaskCommodity;
 
 class CreateByBatchesTest extends TestCase
 {
 
+    use TestMockSubServices;
     /** @var StationTaskCommodityService $service */
     public $service;
     /** @var StationTaskService $service */
@@ -38,27 +40,13 @@ class CreateByBatchesTest extends TestCase
                 $this->orderAmount)
                 ->create([
                     'status'=>'未处理',
-                    'batch_id'=>(function(){
-                        if(!isset($this->data['temBatchId_orders'])){
-                            $this->data['temBatchId_orders']=$this->batchAmount;
-                        }
-                        $this->data['temBatchId_orders']++;
-                        if($this->data['temBatchId_orders']>=$this->batchAmount)$this->data['temBatchId_orders']=0;
-                        return $this->data['batches'][$this->data['temBatchId_orders']];
-                    })(),
+                    'batch_id'=>$this->getTargetIdCirculately($this->data['batches']),
                 ]);
         $this->data['orderCommodities'] =
             factory(OrderCommodity::class,
                 $this->orderCommodityAmount)
                 ->create([
-                    'order_id'=>(function(){
-                        if(!isset($this->data['temOrderId_orderCommodities'])){
-                            $this->data['temOrderId_orderCommodities']=$this->orderAmount;
-                        }
-                        $this->data['temOrderId_orderCommodities']++;
-                        if($this->data['temOrderId_orderCommodities']>=$this->orderAmount)$this->data['temOrderId_orderCommodities']=0;
-                        return $this->data['orders'][$this->data['temOrderId_orderCommodities']];
-                    })(),
+                    'order_id'=>$this->getTargetIdCirculately($this->data['orders']),
                 ]);
     }
 

+ 2 - 16
tests/Services/StationTaskMaterialBoxService/CreateByBatchesTest.php

@@ -36,22 +36,8 @@ class CreateByBatchesTest extends TestCase
         $this->data['orderCommodities']
             = factory(OrderCommodity::class, $this->materialBoxAmount)
             ->create([
-                'order_id'=>(function(){
-                    if(!isset($this->data['i_order_id_orderCommodities'])){
-                        $this->data['i_order_id_orderCommodities']=$this->batchAmount;
-                    }
-                    $this->data['i_order_id_orderCommodities']++;
-                    if($this->data['i_order_id_orderCommodities']>=$this->batchAmount)$this->data['i_order_id_orderCommodities']=0;
-                    return $this->data['orders'][$this->data['i_order_id_orderCommodities']];
-                })(),
-                'location'=>(function(){
-                    if(!isset($this->data['i_materialBoxes_orderCommodities'])){
-                        $this->data['i_materialBoxes_orderCommodities']=$this->batchAmount;
-                    }
-                    $this->data['i_materialBoxes_orderCommodities']++;
-                    if($this->data['i_materialBoxes_orderCommodities']>=$this->batchAmount)$this->data['i_materialBoxes_orderCommodities']=0;
-                    return $this->data['materialBoxes'][$this->data['i_materialBoxes_orderCommodities']];
-                })(),
+                'order_id'=>$this->getTargetIdCirculately($this->data['orders']),
+                'location'=>$this->getTargetIdCirculately($this->data['materialBoxes']),
             ]);
     }