Allow non mapped legacy module names

- Keep legacy module when not defined
- Adjust unit tests
This commit is contained in:
Clemente Raposo 2021-03-29 11:40:41 +01:00 committed by Dillon-Brown
parent efc60d8634
commit 1d39952e87
5 changed files with 25 additions and 17 deletions

View file

@ -9,32 +9,38 @@ describe('Module Name Mapper Service', () => {
it('#toFrontend with valid module name', () => {
const action = service.toFrontend('AOW_WorkFlow');
expect(action).toEqual('workflow');
});
it('#toFrontend with invalid module name', () => {
const action = service.toFrontend('fake');
expect(action).toEqual(undefined);
expect(action).toEqual('fake');
});
it('#toLegacy with valid module name', () => {
const action = service.toLegacy('workflow');
expect(action).toEqual('AOW_WorkFlow');
});
it('#toLegacy with invalid module name', () => {
const action = service.toLegacy('fake');
expect(action).toEqual(undefined);
expect(action).toEqual('fake');
});
it('#isValid with valid module name', () => {
const action = service.isValid('workflow');
expect(action).toEqual(true);
});
it('#isValid with invalid module name', () => {
const fakeAction = service.isValid('fake');
expect(fakeAction).toEqual(false);
});
});

View file

@ -24,6 +24,10 @@ export class ModuleNameMapper {
*/
public toFrontend(module: string): string {
const map = this.getLegacyToFrontendMap();
if (!map[module]) {
return module;
}
return map[module];
}
@ -35,6 +39,10 @@ export class ModuleNameMapper {
*/
public toLegacy(module: string): string {
const map = this.getFrontendToLegacyMap();
if (!map[module]) {
return module;
}
return map[module];
}

View file

@ -8,7 +8,6 @@ use App\SystemConfig\LegacyHandler\DefaultModuleConfigMapper;
use App\Tests\UnitTester;
use Codeception\Test\Unit;
use Exception;
use InvalidArgumentException;
use Symfony\Component\HttpFoundation\Session\Session;
use Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage;
@ -65,11 +64,7 @@ class DefaultModuleConfigMapperTest extends Unit
{
$config = new SystemConfig();
$config->setValue('Test');
try {
$this->handler->map($config);
} catch (InvalidArgumentException $e) {
static::assertEquals('No mapping for Test', $e->getMessage());
}
static::assertEquals('Test', $config->getValue());
}
/**

View file

@ -2,11 +2,10 @@
namespace App\Tests\unit\core\src\Service;
use App\Module\LegacyHandler\ModuleNameMapperHandler;
use App\Module\Service\ModuleNameMapperInterface;
use App\Tests\UnitTester;
use Codeception\Test\Unit;
use InvalidArgumentException;
use App\Module\LegacyHandler\ModuleNameMapperHandler;
use Symfony\Component\HttpFoundation\Session\Session;
use Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage;
@ -75,8 +74,8 @@ class ModuleNameMapperTest extends Unit
*/
public function testInvalidLegacyModuleNameToFrontEndConversion(): void
{
$this->expectException(InvalidArgumentException::class);
$this->moduleMapper->toFrontEnd('FakeModule');
$frontend = $this->moduleMapper->toFrontEnd('FakeModule');
static::assertEquals('FakeModule', $frontend);
}
/**
@ -93,8 +92,8 @@ class ModuleNameMapperTest extends Unit
*/
public function testInvalidLegacyModuleNameToCoreConversion(): void
{
$this->expectException(InvalidArgumentException::class);
$this->moduleMapper->toCore('FakeModule');
$core = $this->moduleMapper->toCore('FakeModule');
static::assertEquals('FakeModule', $core);
}
}

View file

@ -255,15 +255,15 @@ class RouteConverterTest extends Unit
*/
public function testLegacyInvalidModuleIndexRequest(): void
{
$this->expectException(InvalidArgumentException::class);
$resultingRoute = './#/FakeModule';
$queryParams = [
'module' => 'FakeModule',
];
$request = new Request($queryParams);
$this->routeConverter->convert($request);
$route = $this->routeConverter->convert($request);
static::assertEquals($resultingRoute, $route);
}
/**