fix(extend): 修复未传入 extends 不存在缺省值的问题

This commit is contained in:
李东云
2023-04-25 17:04:57 +08:00
parent 2a59a51f8b
commit 77f3141c56
2 changed files with 20 additions and 18 deletions

View File

@@ -9,12 +9,10 @@
namespace Singularity\HDK\Test\Core\Unit;
use Hyperf\Context\Context;
use Singularity\HDK\Core\Service\ExtendService;
use Singularity\HDK\Core\Service\UtilsService;
$service = new ExtendService(new UtilsService());
/** @var ExtendService $service */
$service = make(ExtendService::class, ['utils' => new UtilsService()]);
it('asserts no parameters can be parsed.', function (ExtendService $service, $params) {
@@ -23,7 +21,7 @@ it('asserts no parameters can be parsed.', function (ExtendService $service, $pa
$params
);
$result = $service->getExtends();
expect($result)->toBeArray()->toHaveCount(0)->toBe([]);
expect($result)->toBeArray()->toBe([])->toHaveCount(0)->toBe([]);
})->with([
[$service, null],
[$service, ''],
@@ -32,6 +30,11 @@ it('asserts no parameters can be parsed.', function (ExtendService $service, $pa
[$service, ['extends' => null]],
]);
it('asserts has no specify extend', function () use ($service) {
Context::destroy(ExtendService::class);
expect($service->hasExtend('a'))->toBeFalse();
})->depends('it asserts query parameters can be parsed.');
it('asserts query parameters can be parsed.', function () use ($service) {
$result = $service->parse(
null,
@@ -44,19 +47,21 @@ it('asserts query parameters can be parsed.', function () use ($service) {
});
it('asserts has extends', function () use ($service) {
Context::set(ExtendService::class, ['a', 'b']);
expect($service->hasExtends())->toBeTrue();
});
it('asserts has specify extend', function () use ($service) {
Context::set(ExtendService::class, ['a', 'b']);
expect($service->hasExtend('a'))->toBeTrue()
->and($service->hasExtend('b'))->toBeTrue()
->and($service->hasExtend('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.');
// it('asserts parsed extends', function () use ($service) {
// $extends = $service->getExtends();
// expect($extends)->toBeArray()->toMatchArray([
// 'a',
// 'b',
// ]);
// })->depends('it asserts query parameters can be parsed.');