38 lines
1.2 KiB
PHP
38 lines
1.2 KiB
PHP
<?php
|
|
declare(strict_types=1);
|
|
|
|
namespace Esun\LingxingErp\Test\Unit\Model\Order;
|
|
|
|
use Esun\LingxingErp\Model\Order\CancellationSourceResolver;
|
|
use Magento\Framework\App\Request\Http;
|
|
use Magento\Framework\App\State;
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
class CancellationSourceResolverTest extends TestCase
|
|
{
|
|
public function testIdentifiesCustomerCancellationRoute(): void
|
|
{
|
|
$state = $this->createMock(State::class);
|
|
$state->method('getAreaCode')->willReturn('frontend');
|
|
$request = $this->createMock(Http::class);
|
|
$request->method('getFullActionName')->willReturn('esun_customer_order_cancel');
|
|
|
|
self::assertSame(
|
|
CancellationSourceResolver::CUSTOMER,
|
|
(new CancellationSourceResolver($state, $request))->resolve()
|
|
);
|
|
}
|
|
|
|
public function testCronAreaTakesPriority(): void
|
|
{
|
|
$state = $this->createMock(State::class);
|
|
$state->method('getAreaCode')->willReturn('crontab');
|
|
$request = $this->createMock(Http::class);
|
|
|
|
self::assertSame(
|
|
CancellationSourceResolver::SCHEDULED_TASK,
|
|
(new CancellationSourceResolver($state, $request))->resolve()
|
|
);
|
|
}
|
|
}
|