service = app('OrderCommodityService'); $this->orderService = app('OrderService'); } /** * @test */ public function syncOrderCommodities() { $orderHeader = OracleDOCOrderHeader::query()->with('oracleDOCOrderDetails')->where('sostatus','99')->orderByDesc('addTime')->first(); $orderHeaders = collect(); $orderHeaders->push($orderHeader); $this->orderService->syncOrderByWMSOrderHeaders($orderHeaders); $this->service->syncOrderCommodities($orderHeaders); $order = Order::query()->where('code',$orderHeader->orderno)->first(); $orderCommodities = OrderCommodity::query()->with('commodity')->where('order_id',$order['id'])->get(); $oracleDOCOrderDetails = $orderHeader->oracleDOCOrderDetails; $oracleDOCOrderDetails->each(function($detail)use($orderCommodities){ $orderCommodity = $orderCommodities->where('commodity.sku',$detail['sku'])->where('amount',$detail['qtyordered'])->first(); $this->assertNotNull($orderCommodity); }); $orderCommodities->each(function($orderCommodity)use($oracleDOCOrderDetails){ $detail = $oracleDOCOrderDetails->where('sku',$orderCommodity->commodity->sku)->where('qtyordered',$orderCommodity->amount)->first(); $this->assertNotNull($detail); }); } public function tearDown(): void { cache()->flush(); parent::tearDown(); // TODO: Change the autogenerated stub } }