service = app('StationTaskBatchService'); $this->stationTaskService = app('StationTaskService'); $this->data['owner'] = factory(Owner::class) ->create(); $this->data['batches'] = factory(Batch::class, self::AmountOfBatch) ->create([ 'status'=>'未处理', 'owner_id'=>$this->data['owner']['id'] ]); $this->data['stationRuleBatch'] = factory(StationRuleBatch::class) -> create([ 'owner_id'=>$this->data['owner']['id'], ]); $this->data['stationTask'] = $this->stationTaskService->create(self::AmountOfBatch); } public function testReturned() { ($isReturningRightAmount =function (){ $this->data['stationTaskBatches'] =$this->service->createByBatches($this->data['batches'], $this->data['stationTask']); $this->assertEquals(self::AmountOfBatch, $this->data['stationTaskBatches']->count()); })(); ($isBindingRightRootTasks =function (){ $this->assertEquals( data_get($this->data['stationTask'],'*.id'), $this->data['stationTaskBatches']->map(function($taskBatch){ $taskBatch->loadMissing('stationTask'); return $taskBatch['stationTask']['id']; })->toArray() ); })(); } public function tearDown(): void { Batch::query()->whereIn('id',data_get($this->data['batches'],'*.id')??[])->delete(); StationRuleBatch::query()->where('owner_id',$this->data['owner']['id']??'')->delete(); StationTask::query()->whereIn('id',data_get($this->data['stationTask'],'*.id')??[])->delete(); StationTaskBatch::query()->whereIn('id',data_get($this->data['stationTaskBatches'],'*.id')??[])->delete(); StationTaskChild::query()->whereIn('station_task_id',data_get($this->data['stationTask'],'*.id')??[])->delete(); Owner::query()->where('id',$this->data['owner']['id']??'')->delete(); parent::tearDown(); } }