Bladeren bron

修改测试

ajun 5 jaren geleden
bovenliggende
commit
bb33184c8a

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

@@ -0,0 +1,55 @@
+<?php
+
+namespace Tests\Services\OrderService;
+
+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
+{
+//    use RefreshDatabase;
+
+    /**
+     * @var OrderService $service
+     */
+    private $service;
+    private $data = [];
+
+    protected function setUp(): void
+    {
+        parent::setUp(); // TODO: Change the autogenerated
+        $this->service = app('OrderService');
+        $orders = factory(Order::class)->times(1000)->create();
+        $orderHeaders = collect();
+        foreach ($orders as $order) {
+            $orderHeader = factory(OracleDOCOrderHeader::class)->make(['orderno'=>$order->code]);
+            $orderHeaders->push($orderHeader);
+        }
+        $this->data =[
+            'orders' => $orders,
+            'orderHeaders' => $orderHeaders
+        ];
+    }
+
+    /**
+     * @test
+     */
+    public function getByWmsOrders()
+    {
+        $orders = $this->service->getByWmsOrders($this->data['orderHeaders']);
+        $this->assertNotEmpty($orders);
+        $this->assertEquals(count($this->data['orders']),$orders->count());
+    }
+
+    protected function tearDown(): void
+    {
+        Order::query()->whereIn('id',data_get($this->data['orders'],'*.id'))->delete();
+        parent::tearDown(); // TODO: Change the autogenerated stub
+    }
+
+
+}

+ 13 - 9
tests/Services/OrderService/GetCreateOrderModelByWMSOrderHeadersTest.php

@@ -29,7 +29,7 @@ use Tests\TestCase;
 class GetCreateOrderModelByWMSOrderHeadersTest extends TestCase
 {
 
-    use  RefreshDatabase;
+//    use  RefreshDatabase;
 
     /**
      * @var OrderService $service
@@ -75,7 +75,6 @@ class GetCreateOrderModelByWMSOrderHeadersTest extends TestCase
         $wmsOrderHeader->setRelation('oracleBASCode',$code_BasCode);
         $this->data['orderHeader'] = $wmsOrderHeader;
 
-
     }
 
     /**
@@ -86,12 +85,18 @@ class GetCreateOrderModelByWMSOrderHeadersTest extends TestCase
 
         $orderHeaders = collect([$this->data['orderHeader']]);
         $warehouses = $this->getWareHouses($orderHeaders);
+
         $owners = $this->getOwners($orderHeaders);
         $logistics = $this->getLogistics($orderHeaders);
         $shops = $this->getShops($orderHeaders);
-
+        $batches = [];
         $orders = $this->service->getByWmsOrders($orderHeaders);
-        $crate_orders = $this->service->getCreateOrderModelsByWMSOrderHeaders($orderHeaders,$orders,$warehouses,$owners,$logistics,$shops);
+
+
+        for ($i=0; $i<=20;$i++) {
+            $crate_orders = $this->service->getCreateOrderModelsByWMSOrderHeaders($orderHeaders, $orders, $warehouses, $owners, $logistics, $shops, $batches);
+        }
+
         if($orders->count() == $orderHeaders->count() ){
             $this->assertEquals($orders->count(),$orderHeaders->count());
         }
@@ -124,7 +129,6 @@ class GetCreateOrderModelByWMSOrderHeadersTest extends TestCase
             $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);
         }
     }
 
@@ -151,10 +155,10 @@ class GetCreateOrderModelByWMSOrderHeadersTest extends TestCase
         cache()->forget("getOwnerByCode_{$this->data['owner']}");
         cache()->forget("getShopByCodeMap_{$this->data['shop']}");
         cache()->forget("WareHouse_{$this->data['warehouse']}");
-        $this->data['warehouse']->delte();
-        $this->data['logistic']->delte();
-        $this->data['owner']->delte();
-        $this->data['shop']->delte();
+        $this->data['warehouse']->delete();
+        $this->data['logistic']->delete();
+        $this->data['owner']->delete();
+        $this->data['shop']->delete();
         parent::tearDown(); // TODO: Change the autogenerated stub
     }
 

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

@@ -0,0 +1,139 @@
+<?php
+
+namespace Tests\Services\OrderService;
+
+use App\Batch;
+use App\Logistic;
+use App\OracleBasCode;
+use App\OracleDOCOrderHeader;
+use App\Order;
+use App\Owner;
+use App\Services\common\DataHandlerService;
+use App\Services\OrderService;
+use App\Shop;
+use App\Warehouse;
+use Carbon\Carbon;
+use Illuminate\Foundation\Testing\RefreshDatabase;
+use Illuminate\Foundation\Testing\WithFaker;
+use Tests\TestCase;
+
+class GetCreateOrderModelsTest extends TestCase
+{
+
+//    use RefreshDatabase;
+
+    /**
+     * @var OrderService $service
+     * @var DataHandlerService $dataHandlerService
+     */
+    private $service;
+    private $dataHandlerService;
+    private $data = [];
+
+    public function setUp(): void
+    {
+        parent::setUp(); // TODO: Change the autogenerated stub
+        $this->service = app('OrderService');
+        $this->dataHandlerService = app('DataHandlerService');
+
+        $owners = factory(Owner::class)->times(20)->create();
+        $this->data['owners'] = $owners;
+        $logistics = factory(Logistic::class)->times(30)->create();
+        $wareHouses = factory(Warehouse::class)->times(2)->create();
+        $batches = factory(Batch::class)->times(10)->create();
+        $this->data['logistics'] = $logistics;
+        $this->data['wareHouses'] = $wareHouses;
+        $shops = collect();
+        foreach ($owners as $owner) {
+            $shops = $shops->concat(factory(Shop::class)->times(rand(1,11))->create(['owner_id'=>$owner->id]));
+        }
+        $this->data['shops'] = $shops;
+        $orderHeaders = collect();
+
+        $basBack = factory(OracleBasCode::class)->times(5)->make();
+
+        for ($i=0;$i<= 3000;$i++) {
+            $owner = $owners->random();
+            $shop = $shops->where('owner_id',$owner->id)->random();
+            $logistic = $logistics->random();
+            $wareHouse = $wareHouses->random();
+            $batch = $batches->random();
+            $orderHeader = factory(OracleDOCOrderHeader::class)->make();
+            $orderHeader->customerid = $owner->code;
+            $orderHeader->waveno = $batch->code;
+            $orderHeader->warehouseid = $wareHouse->code;
+            $orderHeader->userdefine1 = $logistic->code;
+            $orderHeader->issuepartyname =  $shop->code;
+            $orderType = $basBack->random();
+            $oracleBASCode = $basBack->random();
+            $orderHeader->setRelation('orderType',$orderType);
+            $orderHeader->setRelation('oracleBASCode',$oracleBASCode);
+            $orderHeaders->push($orderHeader);
+        }
+        $this->data = [
+            'owners'  => $owners,
+            'logistics' => $logistics,
+            'wareHouses' => $wareHouses,
+            'shops' => $shops,
+            'orderHeaders' => $orderHeaders,
+            'batches' => $batches,
+        ];
+    }
+
+    /**
+     * @test
+     */
+    public function getCreateOrderModels()
+    {
+        // is progressing
+        // Mission in progress
+        $orderHeader_map =$this->data['orderHeaders'];
+        $warehouse_map = $this->dataHandlerService->dataHeader(['code'],$this->data['wareHouses']);
+        $owner_map = $this->dataHandlerService->dataHeader(['code'],$this->data['owners']);
+        $logistic_map = $this->dataHandlerService->dataHeader(['code'],$this->data['logistics']);
+        $shop_map = $this->dataHandlerService->dataHeader(['name','owner_id'],$this->data['shops']);
+        $batch_map =  $this->dataHandlerService->dataHeader(['code'],$this->data['batches']);
+        $date = (string)Carbon::now();
+        dump((string)Carbon::now());
+        foreach ($orderHeader_map as $orderHeader) {
+            $param = $this->service->getCreateOrderModels($orderHeader,$warehouse_map,$owner_map,$logistic_map,$shop_map,$batch_map,$date);
+            $warehouse = $this->dataHandlerService->getKeyValue(['code'=>$orderHeader->warehouseid],$warehouse_map);
+            $owner = $this->dataHandlerService->getKeyValue(['code'=>$orderHeader->customerid],$owner_map);
+            $logistic = $this->dataHandlerService->getKeyValue(['code'=>$orderHeader->userdefine1],$logistic_map);
+            $batch = $this->dataHandlerService->getKeyValue(['code'=>$orderHeader->waveno],$batch_map);
+            $shop['id'] = null;
+            if($orderHeader->issuepartyname != null && $orderHeader->issuepartyname != '' ){
+                $shop = $this->dataHandlerService->getKeyValue(['name'=>$orderHeader->issuepartyname ?? '','owner_id'=>$owner->id??''],$shop_map);
+            }
+
+            $this->assertEquals($param['code'],$orderHeader['orderno']);
+            $this->assertEquals($param['batch_id'],$batch['id'] ?? null);
+            $this->assertEquals($param['warehouse_id'],$warehouse['id'] ?? null);
+            $this->assertEquals($param['owner_id'],$owner['id'] ?? null);
+            $this->assertEquals($param['shop_id'],$shop['id'] ?? null);
+            $this->assertEquals($param['logistic_id'],$logistic['id'] ?? null);
+            $this->assertEquals($param['consignee_name'],  $orderHeader['c_contact']);
+            $this->assertEquals($param['consignee_phone'],$orderHeader['c_tel2'] ?? $orderHeader['c_tel1']);
+            $this->assertEquals($param['city'],$orderHeader['c_city']);
+            $this->assertEquals($param['district'],$orderHeader['c_district']);
+            $this->assertEquals($param['address'],$orderHeader['c_address1']);
+            $this->assertEquals($param['client_code'],$orderHeader['soreference1']);
+            $this->assertEquals($param['wms_edittime'], $orderHeader['edittime']);
+            $this->assertEquals($param['wms_status'],$orderHeader->oracleBASCode->codename_c??'');
+            $this->assertEquals($param['order_type'],$orderHeader->orderType->codename_c??'');
+        }
+        dump((string)Carbon::now());
+    }
+    public function tearDown(): void
+    {
+        Order::query()->whereIn('code',data_get($this->data['orderHeaders'],'*.orderno'));
+
+        Warehouse::query()->whereIn('id',data_get($this->data['wareHouses'],'*.id'));
+        Owner::query()->whereIn('id',data_get($this->data['owners'],'*.id'));
+        Logistic::query()->whereIn('id',data_get($this->data['logistics'],'*.id'));
+        Shop::query()->whereIn('id',data_get($this->data['shops'],'*.id'));
+        Batch::query()->whereIn('id',data_get($this->data['batches'],'*.id'));
+
+        parent::tearDown(); // TODO: Change the autogenerated stub
+    }
+}