mirror of
https://gitlab.com/CIEFWorldwideSdnBhd/shipping-portal.git
synced 2026-08-19 04:24:12 +00:00
New UI to show YD Order Tracking infomation
This commit is contained in:
Vendored
+1
-1
@@ -58,7 +58,7 @@ pipeline {
|
||||
|
||||
stage('Tests') {
|
||||
steps {
|
||||
//sh 'vendor/bin/phpunit tests/Unit'
|
||||
sh 'vendor/bin/phpunit tests/Unit'
|
||||
script{
|
||||
currentBuild.description = 'Step 4 of 6 Completed'
|
||||
}
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Unit\App\Classes\Modules\Orders\ControllersLogic;
|
||||
|
||||
use App\Classes\Modules\Orders\ControllersLogic\ListOrderTrackingLogic;
|
||||
use App\Classes\Modules\Orders\Services\ListsOrderTracking;
|
||||
use App\Models\Order;
|
||||
use App\Models\PackingList;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Artisan;
|
||||
use Mockery;
|
||||
use Tests\TestCase;
|
||||
|
||||
class ListOrderTrackingLogicTest extends TestCase
|
||||
{
|
||||
|
||||
protected $listsOrderTrackingMock;
|
||||
protected $listOrderTrackingLogic;
|
||||
|
||||
protected function setUp(): void
|
||||
{
|
||||
parent::setUp();
|
||||
|
||||
$this->listsOrderTrackingMock = Mockery::mock(ListsOrderTracking::class);
|
||||
$this->listOrderTrackingLogic = new ListOrderTrackingLogic($this->listsOrderTrackingMock);
|
||||
}
|
||||
|
||||
protected function tearDown(): void
|
||||
{
|
||||
Mockery::close();
|
||||
parent::tearDown();
|
||||
}
|
||||
|
||||
public function test_logic_with_valid_tracking_number()
|
||||
{
|
||||
// Arrange
|
||||
$trackingNo = '123456789';
|
||||
$reference = 'X202503131317208';
|
||||
$orderId = 1;
|
||||
$packingListId = 1;
|
||||
|
||||
$mockOrder = Mockery::mock('overload:' . Order::class)->makePartial();
|
||||
$mockOrder->shouldReceive('where')
|
||||
->with('reference', $trackingNo)
|
||||
->andReturnSelf();
|
||||
$mockOrder->shouldReceive('first')
|
||||
->andReturn($mockOrder);
|
||||
$mockOrder->id = $orderId;
|
||||
$mockOrder->reference = $trackingNo;
|
||||
|
||||
$mockPackingList = Mockery::mock('overload:' . PackingList::class)->makePartial();
|
||||
$mockPackingList->id = $packingListId;
|
||||
$mockPackingList->reference = $reference;
|
||||
|
||||
$mockOrder->shouldReceive('packingLists')->andReturn(collect([$mockPackingList]));
|
||||
|
||||
Artisan::shouldReceive('call')
|
||||
->once()
|
||||
->withArgs(['process-yd-by-traking-no-data-command', ['trackingNo' => $reference]])
|
||||
->andReturn(0);
|
||||
|
||||
$this->listsOrderTrackingMock->shouldReceive('deserializeFilters')
|
||||
->andReturn(['tracking_no' => $trackingNo]);
|
||||
|
||||
$this->listsOrderTrackingMock->shouldReceive('execute')
|
||||
->andReturn(collect([]));
|
||||
|
||||
$fakeRequest = Request::create('/tracking', 'GET', ['filters' => json_encode(['tracking_no' => $trackingNo])]);
|
||||
|
||||
// Act
|
||||
$response = $this->listOrderTrackingLogic->logic($fakeRequest);
|
||||
|
||||
// Assert
|
||||
$this->assertInstanceOf(JsonResponse::class, $response);
|
||||
}
|
||||
|
||||
public function test_logic_with_invalid_tracking_number()
|
||||
{
|
||||
// Arrange
|
||||
Artisan::shouldReceive('call')->never();
|
||||
|
||||
$this->listsOrderTrackingMock->shouldReceive('deserializeFilters')
|
||||
->andReturn(['tracking_no' => 'invalid']);
|
||||
|
||||
$this->listsOrderTrackingMock->shouldReceive('execute')
|
||||
->andReturn(collect([]));
|
||||
|
||||
$request = Request::create('/tracking', 'GET', ['filters' => json_encode(['tracking_no' => 'invalid'])]);
|
||||
|
||||
// Act
|
||||
$fakeRequest = $this->listOrderTrackingLogic->logic($request);
|
||||
|
||||
// Assert
|
||||
$this->assertInstanceOf(JsonResponse::class, $fakeRequest);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user