N°8760 - review tests

This commit is contained in:
odain
2026-02-06 16:45:23 +01:00
parent f8072f6422
commit d3e4010cd0
2 changed files with 24 additions and 31 deletions

View File

@@ -79,7 +79,7 @@ class InstallationChoicesToModuleConverter
$aInstalledModules[$sModuleName] = true;
}
} else {
$this->ProcessInstallationChoices($aInstallationChoices, $aInstallationDescription, $aInstalledModules);
$this->GetModuleNamesFromInstallationChoices($aInstallationChoices, $aInstallationDescription, $aInstalledModules);
}
$this->ProcessAutoSelectModules($aPackageModules, $aInstalledModules);
@@ -150,19 +150,19 @@ class InstallationChoicesToModuleConverter
}
}
private function ProcessInstallationChoices(array $aInstallationChoices, array $aInstallationDescription, array &$aInstalledModules): void
private function GetModuleNamesFromInstallationChoices(array $aInstallationChoices, array $aInstallationDescription, array &$aModuleNames): void
{
foreach ($aInstallationDescription as $aStepInfo) {
$aOptions = $aStepInfo['options'] ?? null;
if (is_array($aOptions)) {
foreach ($aOptions as $aChoiceInfo) {
$this->ProcessSelectedChoice($aInstallationChoices, $aChoiceInfo, $aInstalledModules);
$this->ProcessSelectedChoice($aInstallationChoices, $aChoiceInfo, $aModuleNames);
}
}
$aOptions = $aStepInfo['alternatives'] ?? null;
if (is_array($aOptions)) {
foreach ($aOptions as $aChoiceInfo) {
$this->ProcessSelectedChoice($aInstallationChoices, $aChoiceInfo, $aInstalledModules);
$this->ProcessSelectedChoice($aInstallationChoices, $aChoiceInfo, $aModuleNames);
}
}
}

View File

@@ -22,6 +22,7 @@ class InstallationChoicesToModuleConverterTest extends ItopDataTestCase
ModuleDiscovery::ResetCache();
}
//integration test
public function testGetModulesWithXmlInstallationFile_UsualCustomerPackagesWithNonITIL()
{
$aSearchDirs = $this->GivenModuleDiscoveryInit();
@@ -78,6 +79,7 @@ class InstallationChoicesToModuleConverterTest extends ItopDataTestCase
$this->assertEquals($aExpected, $aInstalledModules);
}
//integration test
public function testGetModulesWithXmlInstallationFile_UsualCustomerPackagesWithITIL()
{
$aSearchDirs = $this->GivenModuleDiscoveryInit();
@@ -134,6 +136,7 @@ class InstallationChoicesToModuleConverterTest extends ItopDataTestCase
$this->assertEquals($aExpected, $aInstalledModules);
}
//integration test
public function testGetModulesWithXmlInstallationFile_LegacyPackages()
{
$aSearchDirs = $this->GivenModuleDiscoveryInit();
@@ -167,35 +170,35 @@ class InstallationChoicesToModuleConverterTest extends ItopDataTestCase
$this->assertEquals($aExpected, $aInstalledModules);
}
public function testIsDefaultModule_RootModule()
public function testIsDefaultModule_RootModuleShouldNeverBeDefault()
{
$sModuleId = ROOT_MODULE;
$aModuleInfo = ['category' => 'authentication', 'visible' => false];
$this->assertFalse($this->CallIsDefault($sModuleId, $aModuleInfo));
}
public function testIsDefaultModule_Autoselect()
public function testIsDefaultModule_AutoselectShouldNeverBeDefault()
{
$sModuleId = 'autoselect_module';
$aModuleInfo = ['category' => 'authentication', 'visible' => false, 'auto_select' => true];
$this->assertFalse($this->CallIsDefault($sModuleId, $aModuleInfo));
}
public function testIsDefaultModule_AuthenticationModule()
public function testIsDefaultModule_AuthenticationModuleShouldBeDefault()
{
$sModuleId = 'authentication_module';
$aModuleInfo = ['category' => 'authentication', 'visible' => true];
$this->assertTrue($this->CallIsDefault($sModuleId, $aModuleInfo));
}
public function testIsDefaultModule_HiddenModule()
public function testIsDefaultModule_HiddenModuleShouldBeDefault()
{
$sModuleId = 'hidden_module';
$aModuleInfo = ['category' => 'business', 'visible' => false];
$this->assertTrue($this->CallIsDefault($sModuleId, $aModuleInfo));
}
public function testIsDefaultModule_OtherTypeOfModules()
public function testIsDefaultModule_NonModuleDefaultCase()
{
$sModuleId = 'any_module';
$aModuleInfo = ['category' => 'business', 'visible' => true];
@@ -207,34 +210,24 @@ class InstallationChoicesToModuleConverterTest extends ItopDataTestCase
return $this->InvokeNonPublicMethod(InstallationChoicesToModuleConverter::class, 'IsDefaultModule', InstallationChoicesToModuleConverter::GetInstance(), [$sModuleId, $aModuleInfo]);
}
public function testIsAutoSelectedModule_RootModule()
public function testIsAutoSelectedModule_RootModuleShouldNeverBeAutoSelect()
{
$sModuleId = ROOT_MODULE;
$aModuleInfo = ['auto_select' => true];
$this->assertFalse($this->CallIsAutoSelectedModule([], $sModuleId, $aModuleInfo));
}
public function testIsAutoSelectedModule_NoAutoselect()
public function testIsAutoSelectedModule_NoAutoselectByDefault()
{
$sModuleId = 'autoselect_module';
$aModuleInfo = [];
$this->assertFalse($this->CallIsAutoSelectedModule([], $sModuleId, $aModuleInfo));
}
public function testIsAutoSelectedModule_BasicTrue()
{
$sModuleId = "any_module";
$aModuleInfo = ['auto_select' => true];
$this->assertTrue($this->CallIsAutoSelectedModule([], $sModuleId, $aModuleInfo));
}
public function testIsAutoSelectedModule_BasicFalse()
{
$sModuleId = "any_module";
$aModuleInfo = ['auto_select' => false];
$this->assertFalse($this->CallIsAutoSelectedModule([], $sModuleId, $aModuleInfo));
}
/**
* @return void
* cf DependencyExpression dedicated tests
*/
public function testIsAutoSelectedModule_UseInstalledModulesForComputation()
{
$sModuleId = "any_module";
@@ -253,7 +246,7 @@ class InstallationChoicesToModuleConverterTest extends ItopDataTestCase
$aRes = [];
$aInstallationDescription = $this->GivenInstallationChoiceDescription();
$this->CallProcessInstallationChoices([], $aInstallationDescription, $aRes);
$this->CallGetModuleNamesFromInstallationChoices([], $aInstallationDescription, $aRes);
$aExpected = [
'combodo-backoffice-darkmoon-theme' => true,
@@ -287,7 +280,7 @@ class InstallationChoicesToModuleConverterTest extends ItopDataTestCase
$aRes = [];
$aInstallationDescription = $this->GivenInstallationChoiceDescription();
$this->CallProcessInstallationChoices($this->GivenNonItilChoices(), $aInstallationDescription, $aRes);
$this->CallGetModuleNamesFromInstallationChoices($this->GivenNonItilChoices(), $aInstallationDescription, $aRes);
$aExpected = [
'combodo-backoffice-darkmoon-theme' => true,
@@ -332,7 +325,7 @@ class InstallationChoicesToModuleConverterTest extends ItopDataTestCase
$aRes = [];
$aInstallationDescription = $this->GivenInstallationChoiceDescription();
$this->CallProcessInstallationChoices($this->GivenItilChoices(), $aInstallationDescription, $aRes);
$this->CallGetModuleNamesFromInstallationChoices($this->GivenItilChoices(), $aInstallationDescription, $aRes);
$aExpected = [
'combodo-backoffice-darkmoon-theme' => true,
@@ -371,13 +364,13 @@ class InstallationChoicesToModuleConverterTest extends ItopDataTestCase
$this->assertEquals($aExpected, $aRes);
}
private function CallProcessInstallationChoices(array $aInstallationChoices, array $aInstallationDescription, array &$aInstalledModules)
private function CallGetModuleNamesFromInstallationChoices(array $aInstallationChoices, array $aInstallationDescription, array &$aModuleNames)
{
$this->InvokeNonPublicMethod(
InstallationChoicesToModuleConverter::class,
'ProcessInstallationChoices',
'GetModuleNamesFromInstallationChoices',
InstallationChoicesToModuleConverter::GetInstance(),
[$aInstallationChoices, $aInstallationDescription, &$aInstalledModules]
[$aInstallationChoices, $aInstallationDescription, &$aModuleNames]
);
}