| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- <?php
- namespace Tests\Services\OrderCommodityService;
- use Carbon\Carbon;
- use Tests\TestCase;
- use App\OracleDOCOrderHeader;
- use App\Order;
- use App\OrderCommodity;
- use App\Services\OrderCommodityService;
- use App\Services\OrderService;
- use Illuminate\Foundation\Testing\RefreshDatabase;
- class SyncOrderCommoditiesTest extends TestCase
- {
- use RefreshDatabase;
- /**
- * @var OrderService $orderService
- * @var OrderCommodityService $service
- */
- private $service;
- private $orderService;
- private $data = [];
- public function setUp(): void
- {
- parent::setUp();
- $this->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
- }
- }
|