ajun 5 лет назад
Родитель
Сommit
68a5bacdfd

+ 1 - 1
app/Services/OrderService.php

@@ -974,7 +974,7 @@ class OrderService
          */
         $orderPackageService = app('OrderPackageService');
         $orderPackageCommoditiesService = app('OrderPackageCommoditiesService');
-        $orderHeaders = [$orderHeader];
+        $orderHeaders = collect($orderHeader);
         try {
             $this->syncOrderByWMSOrderHeaders($orderHeaders);
             $orderPackageService->syncOrderPackage($orderHeaders);

+ 15 - 0
database/factories/CityFactory.php

@@ -0,0 +1,15 @@
+<?php
+
+/** @var \Illuminate\Database\Eloquent\Factory $factory */
+
+use App\City;
+use Faker\Generator as Faker;
+
+$factory->define(City::class, function (Faker $faker) {
+    return [
+        'province_id' => function(){
+            return factory(\App\Province::class)->create()->id;
+        },
+        'name'=>$faker->name
+    ];
+});

+ 15 - 0
database/factories/OwnerTrakingOwnerFactory.php

@@ -0,0 +1,15 @@
+<?php
+
+/** @var \Illuminate\Database\Eloquent\Factory $factory */
+
+use App\OrderTrackingOwner;
+use Faker\Generator as Faker;
+
+$factory->define(OrderTrackingOwner::class, function (Faker $faker) {
+    return [
+        'owner_id'=>function(){
+            return factory(\App\Owner::class)->create()->id;
+        },
+        'status' => '启用'
+    ];
+});

+ 12 - 0
database/factories/ProvinceFactory.php

@@ -0,0 +1,12 @@
+<?php
+
+/** @var \Illuminate\Database\Eloquent\Factory $factory */
+
+use App\Province;
+use Faker\Generator as Faker;
+
+$factory->define(Province::class, function (Faker $faker) {
+    return [
+        'name' => $faker->name
+    ];
+});

+ 7 - 1
tests/Services/CityService/FindByNameTest.php

@@ -10,6 +10,7 @@ use Tests\TestCase;
 
 class FindByNameTest extends TestCase
 {
+    use RefreshDatabase;
 
     /** @var CityService $cityService */
     public $cityService;
@@ -18,9 +19,14 @@ class FindByNameTest extends TestCase
     {
         parent::setUp(); // TODO: Change the autogenerated stub
         $this->cityService = app(CityService::class);
+        if(!City::query()->where('name','南京')->exists())
+            factory(City::class)->create(['name'=>'南京']);
     }
 
-    public function testFindByName()
+    /**
+     * @test
+     */
+    public function findByName()
     {
         /** @var City $city */
         $city = $this->cityService->findByName('南京市');

+ 23 - 3
tests/Services/LogisticTimingService/FindByParamsTest.php

@@ -2,27 +2,47 @@
 
 namespace Tests\CacheService\LogisticTimingService\FindByParamsTest;
 
+use App\City;
 use App\Logistic;
+use App\Province;
 use App\Services\LogisticTimingService;
+use Illuminate\Foundation\Testing\RefreshDatabase;
 use Tests\TestCase;
 
 class FindByParamsTest extends TestCase
 {
-    /** @var LogisticTimingService $logisticTimingService */
+    use RefreshDatabase;
+
+    /**
+     * @var LogisticTimingService $logisticTimingService
+     */
     public $logisticTimingService;
 
     public function setUp(): void
     {
         parent::setUp();
         $this->logisticTimingService = app(LogisticTimingService::class);
+
+        factory(Logistic::class)->create(['name'=>'新杰物流','code'=>'XJWL']);
+        $province = null;
+        if(!Province::query()->where('name','like','江苏')->exists())
+            $province = factory(Province::class)->create(['name'=>'江苏']);
+        else
+            $province = Province::query()->where('name','like','江苏')->first();
+
+        if(!city::query()->where('name','like','南京'))
+            factory(City::class)->create(['name'=>'南京', 'province_id'=>$province->id]);
     }
 
-    public function testFindByParams()
+    /**
+     * @test
+     */
+    public function findByParams()
     {
         $cityName = '江苏省';
         $provinceName = '南京市';
         $logistic = Logistic::query()->where('name','like','新杰物流'.'%')->first();
-        $result=$this->logisticTimingService->findByParams($cityName,$provinceName,$logistic->id);
+        $result = $this->logisticTimingService->findByParams($cityName,$provinceName,$logistic->id);
         $this->assertNull($result);
     }
 }

+ 20 - 8
tests/Services/OrderPackageService/SyncOrderPackageTest.php

@@ -2,6 +2,7 @@
 
 namespace Tests\Services\OrderPackageService\SyncOrderPackageTest;
 
+use App\OracleDOCOrderHeader;
 use App\Services\OracleDOCOrderHeaderService;
 use App\Services\OrderPackageService;
 use App\Services\OrderService;
@@ -12,6 +13,7 @@ use Tests\TestCase;
 
 class SyncOrderPackageTest extends TestCase
 {
+    use RefreshDatabase;
     /**
      * @var OrderPackageService $service
      * @var OracleDOCOrderHeaderService $orderHeaderService
@@ -28,27 +30,37 @@ class SyncOrderPackageTest extends TestCase
         $this->orderService = app('OrderService');
         $this->orderHeaderService = app('OracleDOCOrderHeaderService');
     }
-    public function testSyncOrderPackage()
+
+    /**
+     * @test
+     */
+    public function syncOrderPackage()
     {
-        /*
-       * createOrderPackage($orderHeaders,$orders,$packages)
-       * */
+        $orderHeader = OracleDOCOrderHeader::query()->orderByDesc('addTime')->first();
+
+        $carbon =Carbon::parse($orderHeader->addtime)->subMinutes(10);
 
-        $carbon =Carbon::now()->subHours(10);
-        $date = '2020-09-18 18:13:50';
         $orderHeaders = $this->orderHeaderService->getWMSOrderOnStartDate($carbon);
-        if($orderHeaders->count()==0){
-            var_dump('查询数据为空');
+
+        if(!$orderHeaders){
+            $this->assertNull($orderHeaders);
             return;
         }
         $orders = $this->orderService->getByWmsOrders($orderHeaders);
         $packages = $this->service->getByWmsOrders($orderHeaders);
+
         $this->service->syncOrderPackage($orderHeaders,$orders,$packages);
+
         $exits_packages  = $this->service->getByWmsOrders($orderHeaders);
+
         $exits_count = $exits_packages->count();
+
         $logistic_numbers = data_get($orderHeaders,'*.actAllocationDetails.*.picktotraceid');
+
         $logistic_numbers = array_unique(array_diff($logistic_numbers,['',' ','*']));
+
         $this->assertEquals(count($logistic_numbers),$exits_count);
+
         foreach ($logistic_numbers as $logistic_number) {
             $exits_package = $exits_packages->where('logistic_number',$logistic_number);
             $this->assertEmpty($exits_package);

+ 8 - 22
tests/Services/OrderService/CreateOrFindOrderInfoTest.php

@@ -4,48 +4,34 @@ namespace Tests\Services\OrderService;
 
 use App\OracleDOCOrderHeader;
 use App\Order;
-use App\Owner;
 use App\Services\OrderService;
-use Carbon\Carbon;
 use Illuminate\Foundation\Testing\RefreshDatabase;
-use Illuminate\Foundation\Testing\WithFaker;
-use Illuminate\Support\Str;
 use Tests\TestCase;
 
 class CreateOrFindOrderInfoTest extends TestCase
 {
     use RefreshDatabase;
+
     /**
      * @var OrderService $orderService
-     * @var Order $order
      */
     public $orderService;
     public $data = [];
-    public $order ;
+    public $order;
+
     public function setUp(): void
     {
         parent::setUp(); // TODO: Change the autogenerated stub
         $this->orderService = app('OrderService');
-        $this->data['orderHeader'] = OracleDOCOrderHeader::query()->orderBy('addTime')->first();
     }
+
     public function testCreateOrFindOrderInfo()
     {
-
-        $this->orderService->createOrFindOrderInfo(collect($this->data['orderHeader']));
-        $order =Order::query()->where('code',$this->data['orderHeader']['orderno'])->first();
+        $orderHeader =  OracleDOCOrderHeader::query()->orderByDesc('addTime')->first();
+        $this->orderService->createOrFindOrderInfo($orderHeader);
+        $order = Order::query()->where('code',$orderHeader->orderno)->first();
         $this->assertNotNull($order);
-        $this->order = $order;
-        $this->assertEquals($order->code,$this->data['orderHeader']['orderno']);
-        $this->order->delete();
-    }
-
-    public function testCreateOrFindOrderInfo1()
-    {
-        $orderHeader = $this->data['orderHeader'];
-        $orderHeader->customerid = null;
-        $orderHeader->warehouseid = null;
-        $orderHeader->userdefine1 = null;
-        $this->orderService->createOrFindOrderInfo($this->data['orderHeader']);
+        $this->assertEquals($order->code,$orderHeader->orderno);
     }
 
 }