CreateByBatchesTest.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. namespace Tests\Services\StationTaskCommodityService;
  3. use App\Batch;
  4. use App\Order;
  5. use App\OrderCommodity;
  6. use App\Services\StationTaskCommodityService;
  7. use App\Services\StationTaskService;
  8. use Tests\TestCase;
  9. use App\StationTaskCommodity;
  10. class CreateByBatchesTest extends TestCase
  11. {
  12. /** @var StationTaskCommodityService $service */
  13. public $service;
  14. /** @var StationTaskService $service */
  15. private $stationTaskService;
  16. private $data;
  17. private $amount=2;
  18. private $orderAmount=4;
  19. private $orderCommodityAmount=8;
  20. function setUp(): void
  21. {
  22. parent::setUp();
  23. $this->service = app('StationTaskCommodityService');
  24. $this->stationTaskService = app('StationTaskService');
  25. $this->data['stationTasks'] =
  26. $this->stationTaskService->create($this->amount);
  27. $this->data['batches'] =
  28. factory(Batch::class,
  29. $this->amount)
  30. ->create([
  31. 'status'=>'未处理',
  32. ]);
  33. $this->data['orders'] =
  34. factory(Order::class,
  35. $this->orderAmount)
  36. ->create([
  37. 'status'=>'未处理',
  38. 'batch_id'=>$this->data['batches'][rand(0,$this->amount)],
  39. ]);
  40. $this->data['orderCommodities'] =
  41. factory(OrderCommodity::class,
  42. $this->orderCommodityAmount)
  43. ->create([
  44. 'order_id'=>$this->data['orders'][rand(0,$this->orderAmount)],
  45. ]);
  46. }
  47. public function testReturned()
  48. {
  49. $this->data['StationTaskCommodities']=
  50. $this->service->createByBatches(
  51. $this->data['batches'],
  52. $this->data['stationTasks']);
  53. $this->assertEquals($this->amount, $this->data['StationTaskCommodities']->count());
  54. }
  55. function tearDown(): void
  56. {
  57. StationTaskCommodity::query()
  58. ->whereIn('id',data_get($this->data['StationTaskCommodities'],'*.id')??[])
  59. ->delete();
  60. parent::tearDown();
  61. }
  62. }