service = app('OrderService'); // $owners = factory(Owner::class)->times(10)->create(); // $logistics = factory(Logistic::class)->times(20)->create(); // $wareHouses = factory(Warehouse::class)->times(3)->create(); // $shops = collect(); // foreach ($owners as $owner) { // $shops = $shops->concat(factory(Shop::class)->times(rand(3,5))->create(['owner_id'=>$owner->id])); // } // $batches = factory(Batch::class)->times(10)->create(); // $orderHeaders = collect(); // foreach ($owners as $owner) { // $count = rand(1,10); // for ($i=0;$i<=$count;$i++) { // $shop = $shops->where('owner_id',$owner->id)->random(); // $warehouse = $wareHouses->random(); // $logistic = $logistics->random(); // $batch = $batches->random(); // $orderHeader = factory(OracleDOCOrderHeader::class)->make([ // 'warehouseid'=>$warehouse->code, // 'waveno'=>$batch->code, // 'customerid'=>$owner->code, // 'userdefine1'=>$logistic->code, // 'issuepartyname' => $shop->name, // ]); // $oracleBASCode = factory(OracleBasCode::class)->make(); // $orderType = factory(OracleBasCode::class)->make(); // $orderHeader->setRelation('oracleBASCode',$oracleBASCode); // $orderHeader->setRelation('orderType',$orderType); // $orderHeaders = $orderHeaders->push($orderHeader); // } // } // $this->data = [ // 'warehouses' => $wareHouses, // 'batches' => $batches, // 'owners' => $owners, // 'logistics' => $logistics, // 'shops' => $shops, // 'orderHeaders' => $orderHeaders // ]; } /** * @test */ public function syncOrderByWMSOrderHeaders() { // $this->service->syncOrderByWMSOrderHeaders($this->data['orderHeaders']); // $orders = Order::query()->whereIn('code',data_get($this->data['orderHeaders'],'*.orderno'))->get(); // $this->data['orders'] = $orders; // $this->assertEquals(count($orders),count($this->data['orderHeaders'])); // $this->assertOrderHeadersAndOrder($this->data['orderHeaders'],$orders); $this->assertTrue(true); } /** * @test 订单已存在 */ // public function orderExisting() // { // // $this->service->syncOrderByWMSOrderHeaders($this->data['orderHeaders']); // $this->service->syncOrderByWMSOrderHeaders($this->data['orderHeaders']); // $orders = Order::query()->whereIn('code',data_get($this->data['orderHeaders'],'*.orderno'))->get(); // $this->data['orders'] = $orders; // $this->assertEquals(count($orders),count($this->data['orderHeaders'])); // $this->assertOrderHeadersAndOrder($this->data['orderHeaders'],$orders); // } /** * @test 订单部分存在 */ // public function orderPortionExisting() // { // $orderHeaders = $this->data['orderHeaders']->random(30); // $this->service->syncOrderByWMSOrderHeaders($orderHeaders); // $this->service->syncOrderByWMSOrderHeaders($this->data['orderHeaders']); // $orders = Order::query()->whereIn('code',data_get($this->data['orderHeaders'],'*.orderno'))->get(); // $this->data['orders'] = $orders; // $this->assertEquals(count($orders),count($this->data['orderHeaders'])); // $this->assertOrderHeadersAndOrder($this->data['orderHeaders'],$orders); // } /** * @test 订单部分在且有修改 */ // public function orderPortingExistingAndModified() // { // $orderHeaders = $this->data['orderHeaders']->random(20); // foreach ($orderHeaders as $orderHeader) { // $owner = $this->data['owners']->random(); // $shop = $this->data['shops']->where('owner_id',$owner->id)->random(); // $warehouse = $this->data['warehouses']->random(); // $logistic = $this->data['logistics']->random(); // $batch = $this->data['batches']->random(); // $orderHeader['warehouseid']=$warehouse->code; // $orderHeader['waveno']=$batch->code; // $orderHeader['customerid']=$owner->code; // $orderHeader['userdefine1']=$logistic->code; // $orderHeader['issuepartyname'] = $shop->name; // } // $this->service->syncOrderByWMSOrderHeaders($orderHeaders); // $this->service->syncOrderByWMSOrderHeaders($this->data['orderHeaders']); // $orders = Order::query()->whereIn('code',data_get($this->data['orderHeaders'],'*.orderno'))->get(); // $this->data['orders'] = $orders; // $this->assertEquals(count($orders),count($this->data['orderHeaders'])); // $this->assertOrderHeadersAndOrder($this->data['orderHeaders'],$orders); // } // public function assertOrderHeadersAndOrder($orderHeaders,$orders){ // foreach ($orderHeaders as $orderHeader) { // $warehouse = Warehouse::query()->where('code',$orderHeader['warehouseid'])->first(); // $batch = Batch::query()->where('code',$orderHeader['waveno'])->first(); // $owner = Owner::query()->where('code',$orderHeader['customerid'])->first(); // $logistic = Logistic::query()->where('code',$orderHeader['userdefine1'])->first(); // $shop = Shop::query()->where('name',$orderHeader['issuepartyname'])->first(); // $order = $orders->where('code',$orderHeader['orderno'])->first(); // $this->assertNotEmpty($order); // $this->assertEquals($order->warehouse_id, $warehouse->id); // $this->assertEquals($order->batch_id,$batch->id); // $this->assertEquals($order->owner_id,$owner->id); // $this->assertEquals($order->logistic_id,$logistic->id); // $this->assertEquals($order->shop_id,$shop->id); // $this->assertEquals($order->wms_status,$orderHeader->oracleBASCode->codename_c ?? ''); // $this->assertEquals($order->order_type,$orderHeader->orderType->codename_c ?? ''); // } // } protected function tearDown(): void { // Warehouse::destroy(data_get($this->data['warehouses'],'*.id')); // Batch::destroy(data_get($this->data['batches'],'*.id')); // Owner::destroy(data_get($this->data['owners'],'*.id')); // Logistic::query()->whereIn('id',data_get($this->data['logistics'],'*.id'))->forceDelete(); // Shop::destroy(data_get($this->data['shops'],'*.id')); // Order::destroy(data_get($this->data['orders'],'*.id')); parent::tearDown(); // TODO: Change the autogenerated stub } }