service = app('StationTaskMaterialBoxService'); $this->data['batches'] = factory(Batch::class, $this->batchAmount) ->create(); $this->data['orders'] = factory(Order::class, $this->orderAmount) ->create([ 'batch_id'=>$this->getTargetIdCirculately($this->data['batches']) ]); $this->data['materialBoxes'] = factory(StationTaskMaterialBox::class, $this->materialBoxAmount) ->create(); $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']]; })(), ]); } public function testReturned() { $this->service->createByBatches(); $this->assertTrue(true); } function tearDown(): void { StationTaskMaterialBox::query() ->whereIn('id',data_get($this->data['stationTaskMaterialBoxes'],'*.id')??[]) ->delete(); parent::tearDown(); } }