Browse Source

测试用例 OrderService 暂不使用

ajun 5 years ago
parent
commit
f6ac8f1d1e

+ 118 - 0
tests/Services/OrderService/CreateOrderByWMSOrderHeadersTest/CreateOrderByWMSOrderHeadersTest.php

@@ -0,0 +1,118 @@
+<?php
+
+namespace Tests\Services\OrderService\CreateOrderByWMSOrderHeadersTest;
+
+use App\Logistic;
+use App\Order;
+use App\Owner;
+use App\Services\common\DataHandlerService;
+use App\Services\LogisticService;
+use App\Services\OracleDOCOrderHeaderService;
+use App\Services\OrderService;
+use App\Services\OwnerService;
+use App\Services\ShopService;
+use App\Services\WarehouseService;
+use App\Shop;
+use App\Warehouse;
+use Carbon\Carbon;
+use Illuminate\Foundation\Testing\RefreshDatabase;
+use Illuminate\Foundation\Testing\WithFaker;
+use Tests\TestCase;
+
+class CreateOrderByWMSOrderHeadersTest extends TestCase
+{
+    /**
+     * @var OrderService $service
+     * @var OracleDOCOrderHeaderService $orderHeaderService
+     * @var DataHandlerService $dataHandlerService
+     * @var OwnerService $ownerService
+     * @var LogisticService $logisticService
+     * @var ShopService $shopService
+     * @var WarehouseService $warehouseService
+     */
+    public $service;
+    public $orderHeaderService;
+    public $dataHandlerService;
+    public $ownerService;
+    public $logisticService;
+    public $shopService;
+    public $warehouseService;
+    public function setUp(): void
+    {
+        parent::setUp();
+        $this->service=app(OrderService::class);
+        $this->orderHeaderService=app(OracleDOCOrderHeaderService::class);
+    }
+
+    public function testCreateOrderByWMSOrderHeaders()
+    {
+        $carbon =Carbon::now()->subHours(10);
+        $date = '2020-09-18 18:13:50';
+        $orderHeaders = $this->orderHeaderService->getWMSOrderOnStartDate($carbon);
+        $orders = $this->service->createOrderByWMSOrderHeaders($orderHeaders);
+        $existOrders = $this->service->getByWmsOrders($orderHeaders);
+        $collect =null;
+        if($existOrders->count()!==$orders->count()){
+            $collect = $existOrders->map(function($order)use($orders){
+                $_order = $orders->where($order->code)->first();
+                return $_order ?? $order;
+            });
+            $this->assertEquals($collect->count(),$orderHeaders->count());
+        }else{
+            $this->assertEquals($orderHeaders->counts(),$orders->count());
+        }
+        foreach ($orderHeaders as $orderHeader) {
+            $code = $orderHeader->orderno;
+            $order = $collect->where('code',$code)->first();
+            $this->assertNotNull($order);
+
+            $warehouse = Warehouse::query()->where('code',$orderHeader->warehouseid)->first();
+            if($orderHeader->warehouseid ?? false)
+                $this->assertEquals($warehouse->id ?? '',$order->warehouse_id ?? '');
+
+            $owner = Owner::query()->where('code',$orderHeader->customerid)->first();
+            if($orderHeader->customerid ?? false)
+                $this->assertEquals($order->owner_id ?? '',$owner->id??'');
+
+            $logistic = Logistic::query()->where('code',$orderHeader->userdefine1??'')->first();
+            if($orderHeader->userdefine1 ?? false)
+                $this->assertEquals($logistic->id ?? '',$logistic->id ?? '');
+
+            $shop = Shop::query()->where('name',$orderHeader->issuepartyname)->where('owner_id',$owner->id)->first();
+            if($orderHeader->issuepartyname ?? false)
+                $this->assertEquals($shop->name,$orderHeader->issuepartyname);
+
+            $this->assertEquals($order->consignee_name ,$orderHeader->c_contact);
+            $this->assertEquals($order->consignee_phone ,empty($orderHeader->c_tel2)?$orderHeader->c_tel1:$orderHeader->c_tel2);
+            $this->assertEquals($order->province ,$orderHeader->c_province);
+            $this->assertEquals($order->city ,$orderHeader->c_city);
+            $this->assertEquals($order->district ,$orderHeader->c_district);
+
+            $this->assertEquals($order->client_code ,$orderHeader->soreference1);
+            $this->assertEquals($order->wms_edittime ,(string)$orderHeader->edittime);
+            $this->assertEquals($order->wms_status ,$orderHeader->oracleBASCode_codename_c);
+
+            $this->assertEquals((string)$order->created_at ,(string)$orderHeader->addtime);
+        }
+    }
+
+    /*
+            'code'                      => $orderHeader->orderno,
+            'warehouse_id'              => $warehouse->id ?? null,
+            'owner_id'                  => $owner->id ?? null,
+            'shop_id'                   => $shop->id ?? null,
+            'logistic_id'               => $logistic->id ?? null,
+            'consignee_name'            => $orderHeader->c_contact,
+            'consignee_phone'           => empty($orderHeader->c_tel2)?$orderHeader->c_tel1:$orderHeader->c_tel2,
+            'province'                  => $orderHeader->c_province,
+            'city'                      => $orderHeader->c_city,
+            'district'                  => $orderHeader->c_district,
+            'address'                   => $orderHeader->c_address1,
+            'client_code'               => $orderHeader->soreference1,
+            'wms_edittime'              => $orderHeader->edittime,
+            'wms_status'                => $orderHeader->oracleBASCode_codename_c ?? '',
+            'updated_at'                => (string)$date,
+            'created_at'                => $orderHeader->addtime,
+        ]);*/
+
+}

+ 40 - 0
tests/Services/OrderService/CreateOrderInfoTest/CreateOrderInfoTest.php

@@ -0,0 +1,40 @@
+<?php
+
+namespace Tests\Services\OrderService\CreateOrderInfoTest;
+
+use App\Services\OracleDOCOrderHeaderService;
+use App\Services\OrderService;
+use Carbon\Carbon;
+use Illuminate\Foundation\Testing\RefreshDatabase;
+use Illuminate\Foundation\Testing\WithFaker;
+use Tests\TestCase;
+
+class CreateOrderInfoTest extends TestCase
+{
+    /**
+     * @var OrderService $service
+     * @var OracleDOCOrderHeaderService $orderHeaderService
+     */
+    public $service;
+    public $orderHeaderService;
+    public function setUp(): void
+    {
+        parent::setUp();
+        $this->service=app('OrderService');
+        $this->orderHeaderService=app('OracleDOCOrderHeaderService');
+    }
+
+    public function testCreateOrderInfo()
+    {
+        $carbon =Carbon::now()->subHours(10);
+        $date = '2020-09-18 18:13:50';
+        $orderHeader = $this->orderHeaderService->getWMSOrderOnStartDate($carbon);
+        $order_models = $this->service->createOrderInfo($orderHeader);
+        $this->assertNotNull($order_models);
+//        var_dump($orderHeader->count());
+//        var_dump($order_models);
+        $order = $this->service->getByWmsOrders($orderHeader);
+        $this->assertNotNull($order);
+        $this->assertNotNull($orderHeader);
+    }
+}

+ 1 - 1
tests/Services/OrderService/FindOrCreateByClientCodeTest/FindOrCreateByClientCodeTest.php

@@ -15,8 +15,8 @@ class FindOrCreateByClientCodeTest extends TestCase
 
     public function setUp(): void
     {
-        $this->service=app(OrderService::class);
         parent::setUp(); // TODO: Change the autogenerated stub
+        $this->service=app('OrderService');
     }
 
     public function testFindOrCreateByClientCode()

+ 42 - 0
tests/Services/OrderService/GetByWmsOrdersTest/GetByWmsOrdersTest.php

@@ -0,0 +1,42 @@
+<?php
+
+namespace Tests\Services\OrderService\GetByWmsOrdersTest;
+
+use App\OracleDOCOrderHeader;
+use App\Order;
+use App\Services\OrderService;
+use Illuminate\Foundation\Testing\RefreshDatabase;
+use Illuminate\Foundation\Testing\WithFaker;
+use Tests\TestCase;
+
+class GetByWmsOrdersTest extends TestCase
+{
+    /** @var OrderService $service */
+    public $service;
+
+    public function setUp(): void
+    {
+        parent::setUp();
+        $this->service = app('OrderService');
+    }
+
+    public function testGetByWmsOrders()
+    {
+        $orders = Order::query()->orderByDesc('id')->forPage(0,5)->get();
+        $orderHeader = OracleDOCOrderHeader::query()->whereIn('OrderNo',$orders->map(function($order){
+            return $order->code;
+        }))->get();
+        $order_list = $this->service->getByWmsOrders($orderHeader);
+        $this->assertIsBool(count($order_list)==count($orders));
+
+        $order_codes = $orders->sortBy('code')->map(function($order){
+            return $order->code;
+        });
+
+        $order_list_codes = $order_list->sortBy('code')->map(function($order){
+            return $order->code;
+        });
+
+        $this->assertEquals(count($order_list_codes),count($order_codes));
+    }
+}

+ 113 - 0
tests/Services/OrderService/GetCreateOrderModelByWMSOrderHeadersTest/GetCreateOrderModelByWMSOrderHeadersTest.php

@@ -0,0 +1,113 @@
+<?php
+
+namespace Tests\Services\OrderService\GetCreateOrderModelByWMSOrderHeadersTest;
+
+use App\Logistic;
+use App\Owner;
+use App\Services\common\DataHandlerService;
+use App\Services\LogisticService;
+use App\Services\OracleDOCOrderHeaderService;
+use App\Services\OrderService;
+use App\Services\OwnerService;
+use App\Services\ShopService;
+use App\Services\WarehouseService;
+use App\Shop;
+use App\Warehouse;
+use Carbon\Carbon;
+use Illuminate\Foundation\Testing\RefreshDatabase;
+use Illuminate\Foundation\Testing\WithFaker;
+use Tests\TestCase;
+
+class GetCreateOrderModelByWMSOrderHeadersTest extends TestCase
+{
+    /**
+     * @var OrderService $service
+     * @var OracleDOCOrderHeaderService $orderHeaderService
+     * @var DataHandlerService $dataHandlerService
+     * @var OwnerService $ownerService
+     * @var LogisticService $logisticService
+     * @var ShopService $shopService
+     * @var WarehouseService $warehouseService
+     */
+    public $service;
+    public $orderHeaderService;
+    public $dataHandlerService;
+    public $ownerService;
+    public $logisticService;
+    public $shopService;
+    public $warehouseService;
+    public function setUp(): void
+    {
+        parent::setUp();
+        $this->service = app('OrderService');
+        $this->orderHeaderService = app('OracleDocOrderHeaderService');
+        $this->dataHandlerService=app('DataHandlerService');
+        $this->ownerService=app('OwnerService');
+        $this->logisticService=app('LogisticService');
+        $this->shopService=app('ShopService');
+        $this->warehouseService=app('WarehouseService');
+    }
+
+    public function testGetCreateOrderModelByWMSOrderHeaders()
+    {
+        $carbon =Carbon::now()->subHours(10);
+        $date = '2020-09-18 18:13:50';
+        $orderHeaders = $this->orderHeaderService->getWMSOrderOnStartDate($carbon);
+        $warehouses = $this->getWareHouses($orderHeaders);
+        $owners = $this->getOwners($orderHeaders);
+        $logistics = $this->getLogistics($orderHeaders);
+        $shops = $this->getShops($orderHeaders);
+
+        $orders = $this->service->getByWmsOrders($orderHeaders);
+        $crate_orders = $this->service->getCreateOrderModelByWMSOrderHeaders($orderHeaders,$orders,$warehouses,$owners,$logistics,$shops);
+        if($orders->count() == $orderHeaders->count() ){
+            $this->assertEquals($orders->count(),$orderHeaders->count());
+        }
+        foreach ($orderHeaders as $orderHeader) {
+            $order = $crate_orders->where('code',$orderHeader->orderno)->first();
+            $exist_order = $orders->where('code',$orderHeader->orderno)->first();
+            if(isset($exist_order))continue;
+            $this->assertNotNull($order);
+            $warehouse = Warehouse::query()->where('code',$orderHeader->warehouseid)->first();
+            if($orderHeader->warehouseid ?? false)
+                $this->assertEquals($warehouse->id ?? '',$order->warehouse_id ?? '');
+
+            $owner = Owner::query()->where('code',$orderHeader->customerid)->first();
+            if($orderHeader->customerid ?? false)
+                $this->assertEquals($order->owner_id ?? '',$owner->id??'');
+
+            $logistic = Logistic::query()->where('code',$orderHeader->userdefine1??'')->first();
+            if($orderHeader->userdefine1 ?? false)
+                $this->assertEquals($logistic->id ?? '',$logistic->id ?? '');
+            $shop = Shop::query()->where('name',$orderHeader->issuepartyname)->where('owner_id',$owner->id)->first();
+            if($orderHeader->issuepartyname ?? false)
+                $this->assertEquals($shop->name,$orderHeader->issuepartyname);
+            $this->assertEquals($order->consignee_name ,$orderHeader->c_contact);
+            $this->assertEquals($order->consignee_phone ,empty($orderHeader->c_tel2)?$orderHeader->c_tel1:$orderHeader->c_tel2);
+            $this->assertEquals($order->province ,$orderHeader->c_province);
+            $this->assertEquals($order->city ,$orderHeader->c_city);
+            $this->assertEquals($order->district ,$orderHeader->c_district);
+            $this->assertEquals($order->client_code ,$orderHeader->soreference1);
+            $this->assertEquals($order->wms_edittime ,(string)$orderHeader->edittime);
+            $this->assertEquals($order->wms_status ,$orderHeader->oracleBASCode_codename_c);
+            $this->assertEquals((string)$order->created_at ,(string)$orderHeader->addtime);
+        }
+    }
+
+    public function getWareHouses($orderHeaders)
+    {
+        return $this->warehouseService->getByWmsOrders($orderHeaders);
+    }
+    public function getOwners($orderHeaders)
+    {
+        return $this->ownerService->getByWmsOrders($orderHeaders);
+    }
+    public function getLogistics($orderHeaders)
+    {
+        return $this->logisticService->getByWmsOrders($orderHeaders);
+    }
+    public function getShops($orderHeaders)
+    {
+        return $this->shopService->getByWmsOrders($orderHeaders);
+    }
+}

+ 83 - 0
tests/Services/OrderService/GetCreateOrderModelsTest/GetCreateOrderModelsTest.php

@@ -0,0 +1,83 @@
+<?php
+
+namespace Tests\Services\OrderService\GetCreateOrderModelsTest;
+
+use App\OracleDOCOrderHeader;
+use App\Services\common\DataHandlerService;
+use App\Services\LogisticService;
+use App\Services\OracleDOCOrderHeaderService;
+use App\Services\OrderService;
+use App\Services\OwnerService;
+use App\Services\ShopService;
+use App\Services\WarehouseService;
+use Illuminate\Foundation\Testing\RefreshDatabase;
+use Illuminate\Foundation\Testing\WithFaker;
+use Tests\TestCase;
+
+class GetCreateOrderModelsTest extends TestCase
+{
+    /**
+     * @var OrderService $service
+     * @var OracleDOCOrderHeaderService $orderHeaderService
+     * @var DataHandlerService $dataHandlerService
+     * @var OwnerService $ownerService
+     * @var LogisticService $logisticService
+     * @var ShopService $shopService
+     * @var WarehouseService $warehouseService
+     */
+    public $service;
+    public $orderHeaderService;
+    public $dataHandlerService;
+    public $ownerService;
+    public $logisticService;
+    public $shopService;
+    public $warehouseService;
+    public function setUp(): void
+    {
+        parent::setUp();
+        $this->service = app('OrderService');
+        $this->orderHeaderService = app('OracleDocOrderHeaderService');
+        $this->dataHandlerService=app('DataHandlerService');
+        $this->ownerService=app('OwnerService');
+        $this->logisticService=app('LogisticService');
+        $this->shopService=app('ShopService');
+        $this->warehouseService=app('WarehouseService');
+    }
+
+    public function testGetCreateModels()
+    {
+        $orderHeader = OracleDOCOrderHeader::query()->orderByDesc('addTime')->first();
+
+        $orderHeaders= collect($orderHeader);
+        $warehouse_map = $this->getWareHouseMap($orderHeaders);
+        $owner_map = $this->getOwnersMap($orderHeaders);
+        $logistic_map = $this->getLogisticMap($orderHeaders);
+        $shop_map = $this->getShopMap($orderHeaders);
+
+        $create_order = $this->service->getCreateOrderModel($orderHeader,$warehouse_map,$owner_map,$logistic_map,$shop_map);
+        $this->assertNotEmpty($create_order);
+
+    }
+
+    public function getWareHouseMap($orderHeaders)
+    {
+        $warehouses = $this->warehouseService->getByWmsOrders($orderHeaders);
+        return $this->dataHandlerService->dataHeader(['code'],$warehouses);
+    }
+    public function getOwnersMap($orderHeaders)
+    {
+        $owners = $this->ownerService->getByWmsOrders($orderHeaders);
+        return $this->dataHandlerService->dataHeader(['code'],$owners);
+    }
+    public function getLogisticMap($orderHeaders)
+    {
+        $logistics = $this->logisticService->getByWmsOrders($orderHeaders);
+        return $this->dataHandlerService->dataHeader(['code'],$logistics);
+    }
+    public function getShopMap($orderHeaders)
+    {
+        $shops = $this->shopService->getByWmsOrders($orderHeaders);
+        return $this->dataHandlerService->dataHeader(['code'],$shops);
+    }
+
+}

+ 71 - 0
tests/Services/OrderService/GetOrderByLogisticNumberTest/GetOrderByLogisticNumberTest.php

@@ -0,0 +1,71 @@
+<?php
+
+namespace Tests\Services\OrderService\GetOrderByLogisticNumberTest;
+
+use App\Logistic;
+use App\OracleDOCOrderHeader;
+use App\Order;
+use App\OrderPackage;
+use App\Owner;
+use App\Services\OrderService;
+use App\Shop;
+use App\Warehouse;
+use Illuminate\Foundation\Testing\RefreshDatabase;
+use Illuminate\Foundation\Testing\WithFaker;
+use Tests\TestCase;
+
+class GetOrderByLogisticNumberTest extends TestCase
+{
+    /** @var OrderService $service */
+    public $service;
+    public function setUp(): void
+    {
+        parent::setUp();
+        $this->service = app('OrderService');
+    }
+
+    public function testGetOrderByLogisticNumber()
+    {
+        $order_package = OrderPackage::query()->orderByDesc('id')->first();
+        $logistic_number = $order_package->logistic_number;
+//        var_dump($logistic_number);
+        $orderHeader = OracleDOCOrderHeader::query()->whereHas('actAllocationDetails',function($query)use($order_package){
+            $query->where('PickToTraceID',$order_package->logistic_number);
+        })->first();
+//        var_dump($orderHeader?$orderHeader->orderno:'');
+
+        if(!$orderHeader){
+            $orderHeader = OracleDOCOrderHeader::query()->with('actAllocationDetails')->orderBy('AddTime')->first();
+//            var_dump($orderHeader?$orderHeader->orderno:'查询为空');
+            $logistic_number = data_get($orderHeader,'actAllocationDetails.*.picktotraceid')[0];
+        }
+        $order = $this->service->getOrderByLogisticNumber($logistic_number);
+//        var_dump($order,$logistic_number,$orderHeader,$order_package);
+        $this->assertEquals((string)$orderHeader->addtime,(string)$order->created_at);
+        $this->assertEquals($orderHeader->orderno,$order->code);
+
+        $shop = Shop::query()->where('name',$orderHeader->issuepartyname)->first();
+        $this->assertEquals($shop->id,$order->shop_id);
+
+        $owner = Owner::query()->where('code',$orderHeader->customerid)->first();
+        $this->assertEquals($owner->id, $order->owner_id);
+        $this->assertEquals($orderHeader->soreference1,$order->client_code);
+
+        $logistic = Logistic::query()->where('code',$orderHeader->userdefine1)->first();
+        $this->assertEquals($logistic->id,$order->logistic_id);
+        $this->assertEquals($orderHeader->c_contact,$order->consignee_name);
+
+        $consignee_phone = empty($orderHeader->c_tel2)?$orderHeader->c_tel1:$orderHeader->c_tel2;
+        $this->assertEquals($consignee_phone,$order->consignee_phone);
+
+        $this->assertEquals($orderHeader->c_province,$order->province);
+        $this->assertEquals($orderHeader->c_city,$order->city);
+        $this->assertEquals($orderHeader->c_district,$order->district);
+        $this->assertEquals($orderHeader->c_address1,$order->address);
+        $this->assertEquals($orderHeader->oracleBASCode_codename_c,$order->wms_status);
+
+        $warehouse = Warehouse::query()->where('code',$orderHeader->warehouseid)->first();
+        $this->assertEquals($warehouse->id,$order->warehouse_id);
+        $this->assertEquals($orderHeader->edittime,$order->wms_edittime);
+    }
+}

+ 45 - 0
tests/Services/OrderService/GetParamByOrderHeaderTest/GetParamByOrderHeaderTest.php

@@ -0,0 +1,45 @@
+<?php
+
+namespace Tests\Services\OrderService\GetParamByOrderHeaderTest;
+
+use App\OracleDOCOrderHeader;
+use App\Services\OrderIssueService;
+use App\Services\OrderService;
+use Illuminate\Foundation\Testing\RefreshDatabase;
+use Illuminate\Foundation\Testing\WithFaker;
+use Tests\TestCase;
+
+class GetParamByOrderHeaderTest extends TestCase
+{
+    /** @var OrderService $service */
+    public $service;
+    public function setUp(): void
+    {
+        parent::setUp();
+        $this->service = app(OrderService::class);
+    }
+
+    public function testGetParamByOrderHeader()
+    {
+        $orderHeader = OracleDOCOrderHeader::query()
+            ->with('actAllocationDetails')
+            ->orderByDesc('AddTime')->first();
+        $param = $this->service->getParamByOrderHeader($orderHeader);
+        $this->assertNotNull($param);
+        $this->assertNotEmpty($param['code']);
+        $this->assertNotEmpty($param['owner_id']);
+        $this->assertNotNull($param['logistic_id']);
+        $this->assertNotEmpty($param['consignee_name']);
+        $this->assertNotEmpty($param['consignee_phone']);
+        $this->assertNotEmpty($param['province']);
+        $this->assertNotEmpty($param['city']);
+        $this->assertNotEmpty($param['district']);
+        $this->assertNotEmpty($param['address']);
+        $this->assertNotEmpty($param['client_code']);
+        $this->assertNotEmpty($param['wms_edittime']);
+        $this->assertNotEmpty($param['wms_status']);
+        $this->assertNotEmpty($param['updated_at']);
+        $this->assertNotEmpty($param['created_at']);
+        $this->assertNotEmpty($param['warehouse_id']);
+    }
+}

+ 106 - 0
tests/Services/OrderService/GetUpdateOrderModelByWMSOrderHeadersTest/GetUpdateModelByWmsOrderHeadersTest.php

@@ -0,0 +1,106 @@
+<?php
+
+namespace Tests\Services\OrderService\GetUpdateOrderModelByWMSOrderHeadersTest;
+
+use App\Logistic;
+use App\Owner;
+use App\Services\LogisticService;
+use App\Services\OracleDOCOrderHeaderService;
+use App\Services\OrderService;
+use App\Services\OwnerService;
+use App\Services\ShopService;
+use App\Services\WarehouseService;
+use App\Shop;
+use App\Warehouse;
+use Carbon\Carbon;
+use Illuminate\Foundation\Testing\RefreshDatabase;
+use Illuminate\Foundation\Testing\WithFaker;
+use Illuminate\Support\Str;
+use Tests\TestCase;
+
+class GetUpdateModelByWmsOrderHeadersTest extends TestCase
+{
+    /**
+     * @var OrderService $service
+     * @var OracleDOCOrderHeaderService $orderHeaderService
+     */
+    public $service;
+    public $orderHeaderService;
+
+    public function setUp(): void
+    {
+        parent::setUp();
+        $this->service = app('OrderService');
+        $this->orderHeaderService = app('OracleDocOrderHeaderService');
+    }
+    public function testExample()
+    {
+        $carbon =Carbon::now()->subHours(10);
+        $date = '2020-09-18 18:13:50';
+        $orderHeaders = $this->orderHeaderService->getWMSOrderOnStartDate($carbon);
+        /**
+         * @var OwnerService $ownerService
+         * @var LogisticService $logisticService
+         * @var ShopService $shopService
+         * @var WarehouseService $warehouseService
+         */
+        $ownerService = app("OwnerService");
+        $logisticService = app("LogisticService");
+        $shopService = app('ShopService');
+        $warehouseService = app('WarehouseService');
+
+        $owners = $ownerService->getByWmsOrders($orderHeaders);
+        $logistics = $logisticService->getByWmsOrders($orderHeaders);
+        $shops = $shopService->getByWmsOrders($orderHeaders);
+        $warehouses = $warehouseService->getByWmsOrders($orderHeaders);
+
+        $orders = $this->service->getByWmsOrders($orderHeaders);
+        $orders->each(function($item){
+            $item->warehouse_id = rand(1,3);
+            $item->owner_id = rand(1,50);
+            $item->shop_id = rand(1,50);
+            $item->logistic_id = rand(1,50);
+            $item->consignee_name = Str::random(50);
+            $item->consignee_phone = Str::random(50);
+            $item->province = Str::random(50);
+            $item->city = Str::random(50);
+            $item->district = Str::random(50);
+            $item->address = Str::random(50);
+            $item->client_code = Str::random(52);
+            $item->wms_edittime = Carbon::now();
+            $item->wms_status = Str::random(10);
+            $item->updated_at = Carbon::now();
+            $item->created_at = Carbon::now();
+        });
+        $update_orders = $this->service->getUpdateOrderModelByWMSOrderHeaders($orderHeaders,$orders,$warehouses,$owners,$logistics,$shops);
+
+        foreach ($orderHeaders as $orderHeader) {
+            $order = $update_orders->where('code',$orderHeader->orderno)->first();
+            $this->assertNotNull($order);
+
+            $warehouse = Warehouse::query()->where('code',$orderHeader->warehouseid)->first();
+            if($orderHeader->warehouseid ?? false)
+                $this->assertEquals($warehouse->id ?? '',$order->warehouse_id ?? '');
+
+            $owner = Owner::query()->where('code',$orderHeader->customerid)->first();
+            if($orderHeader->customerid ?? false)
+                $this->assertEquals($order->owner_id ?? '',$owner->id??'');
+
+            $logistic = Logistic::query()->where('code',$orderHeader->userdefine1??'')->first();
+            if($orderHeader->userdefine1 ?? false)
+                $this->assertEquals($logistic->id ?? '',$logistic->id ?? '');
+            $shop = Shop::query()->where('name',$orderHeader->issuepartyname)->where('owner_id',$owner->id)->first();
+            if($orderHeader->issuepartyname ?? false)
+                $this->assertEquals($shop->name,$orderHeader->issuepartyname);
+            $this->assertEquals($order->consignee_name ,$orderHeader->c_contact);
+            $this->assertEquals($order->consignee_phone ,empty($orderHeader->c_tel2)?$orderHeader->c_tel1:$orderHeader->c_tel2);
+            $this->assertEquals($order->province ,$orderHeader->c_province);
+            $this->assertEquals($order->city ,$orderHeader->c_city);
+            $this->assertEquals($order->district ,$orderHeader->c_district);
+            $this->assertEquals($order->client_code ,$orderHeader->soreference1);
+            $this->assertEquals($order->wms_edittime ,(string)$orderHeader->edittime);
+            $this->assertEquals($order->wms_status ,$orderHeader->oracleBASCode_codename_c);
+            $this->assertEquals((string)$order->created_at ,(string)$orderHeader->addtime);
+        }
+    }
+}