2022-12-20 16:45:31 +08:00
|
|
|
<?php
|
|
|
|
|
/**
|
|
|
|
|
* ExtendServiceTest.php@HDK-Core
|
|
|
|
|
*
|
|
|
|
|
* @author 李东云 <Dongyun.Li@LuxCreo.Ai>
|
|
|
|
|
* Powered by PhpStorm
|
|
|
|
|
* Created on 2022/12/20
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
namespace Singularity\HDK\Test\Core\Unit;
|
|
|
|
|
|
2023-02-02 15:44:26 +08:00
|
|
|
use Darabonba\GatewaySpi\Models\InterceptorContext\request;
|
2022-12-20 16:45:31 +08:00
|
|
|
use Singularity\HDK\Core\Service\ExtendService;
|
|
|
|
|
|
|
|
|
|
$service = new ExtendService();
|
|
|
|
|
|
2023-02-02 15:44:26 +08:00
|
|
|
it('asserts no parameters can be parsed.', function (ExtendService $service, $params) {
|
2023-02-01 21:11:13 +08:00
|
|
|
$service->parse(
|
2023-02-02 15:44:26 +08:00
|
|
|
request: null,
|
|
|
|
|
params: $params
|
2023-02-01 21:11:13 +08:00
|
|
|
);
|
|
|
|
|
$result = $service->getExtends();
|
|
|
|
|
expect($result)->toBeArray()->toHaveCount(0)->toBe([]);
|
2023-02-02 15:44:26 +08:00
|
|
|
})->with([
|
|
|
|
|
[$service, null],
|
|
|
|
|
[$service, ''],
|
|
|
|
|
[$service, []],
|
|
|
|
|
[$service, ['extends' => '']],
|
|
|
|
|
[$service, ['extends' => null]],
|
|
|
|
|
]);
|
2023-02-01 21:11:13 +08:00
|
|
|
|
2022-12-20 16:45:31 +08:00
|
|
|
it('asserts query parameters can be parsed.', function () use ($service) {
|
|
|
|
|
$result = $service->parse(
|
|
|
|
|
null,
|
|
|
|
|
params: [
|
|
|
|
|
'id' => 5,
|
|
|
|
|
'extends' => 'a,b',
|
|
|
|
|
]
|
|
|
|
|
);
|
|
|
|
|
expect($result)->toBeArray()->toHaveCount(2)->toBe(['a', 'b']);
|
|
|
|
|
});
|
|
|
|
|
it('asserts has extends', function () use ($service) {
|
|
|
|
|
expect($service->hasExtends('a'))->toBeTrue()
|
|
|
|
|
->and($service->hasExtends('b'))->toBeTrue()
|
|
|
|
|
->and($service->hasExtends('c'))->toBeFalse();
|
|
|
|
|
})->depends('it asserts query parameters can be parsed.');
|
|
|
|
|
|
|
|
|
|
it('asserts parsed extends', function () use ($service) {
|
|
|
|
|
$extends = $service->getExtends();
|
|
|
|
|
expect($extends)->toBeArray()->toMatchArray([
|
|
|
|
|
'a',
|
|
|
|
|
'b',
|
|
|
|
|
]);
|
|
|
|
|
})->depends('it asserts query parameters can be parsed.');
|