Issue #3270323 by Spokje, murilohp, catch, xjm, longwave: ModuleConfigureRouteTest::testModuleConfigureRoutes fails for modules which have a configure route and are deprecated

merge-requests/1884/head
catch 2022-03-22 14:56:30 +00:00
parent ffcf3e6c16
commit bb24e8ba36
1 changed files with 14 additions and 8 deletions

View File

@ -54,25 +54,31 @@ class ModuleConfigureRouteTest extends KernelTestBase {
} }
$module_lifecycle = $module_info[ExtensionLifecycle::LIFECYCLE_IDENTIFIER]; $module_lifecycle = $module_info[ExtensionLifecycle::LIFECYCLE_IDENTIFIER];
if (isset($module_lifecycle) && $module_lifecycle === ExtensionLifecycle::DEPRECATED) { if (isset($module_lifecycle) && $module_lifecycle === ExtensionLifecycle::DEPRECATED) {
$this->assertDeprecatedModuleConfigureRoutesExist($module_name, $module_info); $this->markTestSkipped("$module_name is $module_lifecycle");
} }
else {
$this->container->get('module_installer')->install([$module_name]); $this->container->get('module_installer')->install([$module_name]);
$this->assertModuleConfigureRoutesExist($module_name, $module_info); $this->assertModuleConfigureRoutesExist($module_name, $module_info);
} }
}
/** /**
* Asserts the configure routes of a module with lifecycle deprecated exist. * Tests if the module with lifecycle deprecated configure routes exists.
* *
* Note: This test is part of group legacy, to make sure installing the * Note: This test is part of group legacy, to make sure installing the
* deprecated module doesn't trigger a deprecation notice. * deprecated module doesn't trigger a deprecation notice.
* *
* @group legacy * @group legacy
* *
* @internal * @dataProvider coreModuleListDataProvider
*/ */
protected function assertDeprecatedModuleConfigureRoutesExist(string $module_name, array $module_info): void { public function testDeprecatedModuleConfigureRoutes(string $module_name): void {
$module_info = $this->moduleInfo[$module_name]->info;
if (!isset($module_info['configure'])) {
$this->markTestSkipped("$module_name has no configure route");
}
$module_lifecycle = $module_info[ExtensionLifecycle::LIFECYCLE_IDENTIFIER];
if (isset($module_lifecycle) && $module_lifecycle !== ExtensionLifecycle::DEPRECATED) {
$this->markTestSkipped("$module_name is not $module_lifecycle");
}
$this->container->get('module_installer')->install([$module_name]); $this->container->get('module_installer')->install([$module_name]);
$this->assertModuleConfigureRoutesExist($module_name, $module_info); $this->assertModuleConfigureRoutesExist($module_name, $module_info);
} }