mirror of
https://github.com/Combodo/iTop.git
synced 2026-05-23 09:12:16 +02:00
N°9567 - fix back to setup from extension management - extension screen missing when back after audit
This commit is contained in:
@@ -179,6 +179,7 @@ class WizStepModulesChoice extends AbstractWizStepInstall
|
|||||||
$aSteps [] = ["class" => "WizStepModulesChoice","state" => "$i"];
|
$aSteps [] = ["class" => "WizStepModulesChoice","state" => "$i"];
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
|
$aSteps [] = ["class" => "WizStepModulesChoice","state" => "$i"];
|
||||||
|
|
||||||
return $aSteps;
|
return $aSteps;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,7 +13,8 @@ use XMLParameters;
|
|||||||
|
|
||||||
class WizStepModulesChoiceTest extends ItopTestCase
|
class WizStepModulesChoiceTest extends ItopTestCase
|
||||||
{
|
{
|
||||||
private WizStepModulesChoiceFake $oStep;
|
private WizStepModulesChoiceFake $oWizStepModulesChoiceFake;
|
||||||
|
private WizardController $oWizard;
|
||||||
protected function setUp(): void
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
@@ -22,7 +23,8 @@ class WizStepModulesChoiceTest extends ItopTestCase
|
|||||||
require_once __DIR__.'/iTopExtensionsMapFake.php';
|
require_once __DIR__.'/iTopExtensionsMapFake.php';
|
||||||
require_once __DIR__.'/WizStepModulesChoiceFake.php';
|
require_once __DIR__.'/WizStepModulesChoiceFake.php';
|
||||||
|
|
||||||
$this->oStep = new WizStepModulesChoiceFake(new WizardController('', ''), '');
|
$this->oWizard = new WizardController('', '');
|
||||||
|
$this->oWizStepModulesChoiceFake = new WizStepModulesChoiceFake($this->oWizard, '');
|
||||||
ModuleDiscovery::ResetCache();
|
ModuleDiscovery::ResetCache();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -373,8 +375,8 @@ class WizStepModulesChoiceTest extends ItopTestCase
|
|||||||
*/
|
*/
|
||||||
public function testComputeChoiceFlags($aExtensionsOnDiskOrDb, $aWizardStepDefinition, $bIsCurrentSelected, $bDisableUninstallChecks, $aExpectedFlags)
|
public function testComputeChoiceFlags($aExtensionsOnDiskOrDb, $aWizardStepDefinition, $bIsCurrentSelected, $bDisableUninstallChecks, $aExpectedFlags)
|
||||||
{
|
{
|
||||||
$this->oStep->setExtensionMap(iTopExtensionsMapFake::createFromArray($aExtensionsOnDiskOrDb));
|
$this->oWizStepModulesChoiceFake->setExtensionMap(iTopExtensionsMapFake::createFromArray($aExtensionsOnDiskOrDb));
|
||||||
$aFlags = $this->oStep->ComputeChoiceFlags($aWizardStepDefinition, '_0', $bIsCurrentSelected ? ['_0' => '_0'] : [], false, $bDisableUninstallChecks, true);
|
$aFlags = $this->oWizStepModulesChoiceFake->ComputeChoiceFlags($aWizardStepDefinition, '_0', $bIsCurrentSelected ? ['_0' => '_0'] : [], false, $bDisableUninstallChecks, true);
|
||||||
$this->assertEquals($aExpectedFlags, $aFlags);
|
$this->assertEquals($aExpectedFlags, $aFlags);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -495,8 +497,8 @@ class WizStepModulesChoiceTest extends ItopTestCase
|
|||||||
*/
|
*/
|
||||||
public function testGetAddedAndRemovedExtensions($aExtensionsOnDiskOrDb, $aSelectedExtensions, $aExpectedAddedList, $aExpectedRemovedList)
|
public function testGetAddedAndRemovedExtensions($aExtensionsOnDiskOrDb, $aSelectedExtensions, $aExpectedAddedList, $aExpectedRemovedList)
|
||||||
{
|
{
|
||||||
$this->oStep->setExtensionMap(iTopExtensionsMapFake::createFromArray($aExtensionsOnDiskOrDb));
|
$this->oWizStepModulesChoiceFake->setExtensionMap(iTopExtensionsMapFake::createFromArray($aExtensionsOnDiskOrDb));
|
||||||
[$aAddedList, $aRemovedList, $aNotUninstallableList] = $this->oStep->GetAddedAndRemovedExtensions($aSelectedExtensions);
|
[$aAddedList, $aRemovedList, $aNotUninstallableList] = $this->oWizStepModulesChoiceFake->GetAddedAndRemovedExtensions($aSelectedExtensions);
|
||||||
$this->assertEquals($aExpectedAddedList, $aAddedList);
|
$this->assertEquals($aExpectedAddedList, $aAddedList);
|
||||||
$this->assertEquals($aExpectedRemovedList, $aRemovedList);
|
$this->assertEquals($aExpectedRemovedList, $aRemovedList);
|
||||||
}
|
}
|
||||||
@@ -688,7 +690,7 @@ class WizStepModulesChoiceTest extends ItopTestCase
|
|||||||
'installed' => false,
|
'installed' => false,
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
$this->oStep->setExtensionMap(iTopExtensionsMapFake::createFromArray($aExtensionsMapData));
|
$this->oWizStepModulesChoiceFake->setExtensionMap(iTopExtensionsMapFake::createFromArray($aExtensionsMapData));
|
||||||
|
|
||||||
$aStepInfo = [
|
$aStepInfo = [
|
||||||
'title' => 'Extensions',
|
'title' => 'Extensions',
|
||||||
@@ -729,7 +731,7 @@ class WizStepModulesChoiceTest extends ItopTestCase
|
|||||||
|
|
||||||
$aModules = [];
|
$aModules = [];
|
||||||
$aExtensions = [];
|
$aExtensions = [];
|
||||||
$this->oStep->GetSelectedModules($aStepInfo, $aSelectedExtensions, $aModules, '', '', $aExtensions);
|
$this->oWizStepModulesChoiceFake->GetSelectedModules($aStepInfo, $aSelectedExtensions, $aModules, '', '', $aExtensions);
|
||||||
$this->assertEquals($aExpectedModules, $aModules);
|
$this->assertEquals($aExpectedModules, $aModules);
|
||||||
$this->assertEquals($aExpectedExtensions, $aExtensions);
|
$this->assertEquals($aExpectedExtensions, $aExtensions);
|
||||||
}
|
}
|
||||||
@@ -745,7 +747,7 @@ class WizStepModulesChoiceTest extends ItopTestCase
|
|||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
$this->oStep->setExtensionMap(iTopExtensionsMapFake::createFromArray($aExtensionsMapData));
|
$this->oWizStepModulesChoiceFake->setExtensionMap(iTopExtensionsMapFake::createFromArray($aExtensionsMapData));
|
||||||
|
|
||||||
$aStepInfo = [
|
$aStepInfo = [
|
||||||
'title' => 'Extensions',
|
'title' => 'Extensions',
|
||||||
@@ -774,7 +776,7 @@ class WizStepModulesChoiceTest extends ItopTestCase
|
|||||||
|
|
||||||
$aModules = [];
|
$aModules = [];
|
||||||
$aExtensions = [];
|
$aExtensions = [];
|
||||||
$this->oStep->GetSelectedModules($aStepInfo, $aSelectedExtensions, $aModules, '', '', $aExtensions);
|
$this->oWizStepModulesChoiceFake->GetSelectedModules($aStepInfo, $aSelectedExtensions, $aModules, '', '', $aExtensions);
|
||||||
$this->assertEquals($aExpectedModules, $aModules);
|
$this->assertEquals($aExpectedModules, $aModules);
|
||||||
$this->assertEquals($aExpectedExtensions, $aExtensions);
|
$this->assertEquals($aExpectedExtensions, $aExtensions);
|
||||||
}
|
}
|
||||||
@@ -795,7 +797,7 @@ class WizStepModulesChoiceTest extends ItopTestCase
|
|||||||
],
|
],
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
$this->oStep->setExtensionMap(iTopExtensionsMapFake::createFromArray($aExtensionsMapData));
|
$this->oWizStepModulesChoiceFake->setExtensionMap(iTopExtensionsMapFake::createFromArray($aExtensionsMapData));
|
||||||
|
|
||||||
$aStepInfo = [
|
$aStepInfo = [
|
||||||
'title' => 'Extensions',
|
'title' => 'Extensions',
|
||||||
@@ -824,7 +826,7 @@ class WizStepModulesChoiceTest extends ItopTestCase
|
|||||||
|
|
||||||
$aModules = [];
|
$aModules = [];
|
||||||
$aExtensions = [];
|
$aExtensions = [];
|
||||||
$this->oStep->GetSelectedModules($aStepInfo, $aSelectedExtensions, $aModules, '', '', $aExtensions);
|
$this->oWizStepModulesChoiceFake->GetSelectedModules($aStepInfo, $aSelectedExtensions, $aModules, '', '', $aExtensions);
|
||||||
$this->assertEquals($aExpectedModules, $aModules);
|
$this->assertEquals($aExpectedModules, $aModules);
|
||||||
$this->assertEquals($aExpectedExtensions, $aExtensions);
|
$this->assertEquals($aExpectedExtensions, $aExtensions);
|
||||||
}
|
}
|
||||||
@@ -842,7 +844,7 @@ class WizStepModulesChoiceTest extends ItopTestCase
|
|||||||
'installed' => false,
|
'installed' => false,
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
$this->oStep->setExtensionMap(iTopExtensionsMapFake::createFromArray($aExtensionsMapData));
|
$this->oWizStepModulesChoiceFake->setExtensionMap(iTopExtensionsMapFake::createFromArray($aExtensionsMapData));
|
||||||
|
|
||||||
$aStepInfo = [
|
$aStepInfo = [
|
||||||
'options' => [
|
'options' => [
|
||||||
@@ -886,7 +888,7 @@ class WizStepModulesChoiceTest extends ItopTestCase
|
|||||||
|
|
||||||
$aModules = [];
|
$aModules = [];
|
||||||
$aExtensions = [];
|
$aExtensions = [];
|
||||||
$this->oStep->GetSelectedModules($aStepInfo, $aSelectedExtensions, $aModules, '', '', $aExtensions);
|
$this->oWizStepModulesChoiceFake->GetSelectedModules($aStepInfo, $aSelectedExtensions, $aModules, '', '', $aExtensions);
|
||||||
$this->assertEquals($aExpectedModules, $aModules);
|
$this->assertEquals($aExpectedModules, $aModules);
|
||||||
$this->assertEquals($aExpectedExtensions, $aExtensions);
|
$this->assertEquals($aExpectedExtensions, $aExtensions);
|
||||||
}
|
}
|
||||||
@@ -898,7 +900,7 @@ class WizStepModulesChoiceTest extends ItopTestCase
|
|||||||
'installed' => false,
|
'installed' => false,
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
$this->oStep->setExtensionMap(iTopExtensionsMapFake::createFromArray($aExtensionsMapData));
|
$this->oWizStepModulesChoiceFake->setExtensionMap(iTopExtensionsMapFake::createFromArray($aExtensionsMapData));
|
||||||
|
|
||||||
//GetSelectedModules
|
//GetSelectedModules
|
||||||
$aStepInfo = [
|
$aStepInfo = [
|
||||||
@@ -925,13 +927,13 @@ class WizStepModulesChoiceTest extends ItopTestCase
|
|||||||
$aExtensions = [];
|
$aExtensions = [];
|
||||||
$this->expectException('Exception');
|
$this->expectException('Exception');
|
||||||
$this->expectExceptionMessage('Extension combodo-sample does not have any module associated');
|
$this->expectExceptionMessage('Extension combodo-sample does not have any module associated');
|
||||||
$this->oStep->GetSelectedModules($aStepInfo, ['_0' => '_0'], $aModules, '', '', $aExtensions);
|
$this->oWizStepModulesChoiceFake->GetSelectedModules($aStepInfo, ['_0' => '_0'], $aModules, '', '', $aExtensions);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testGetSelectedModulesShouldNotThrowAnExceptionWhenAMandatoryModuleIsMissing()
|
public function testGetSelectedModulesShouldNotThrowAnExceptionWhenAMandatoryModuleIsMissing()
|
||||||
{
|
{
|
||||||
$aExtensionsMapData = [];
|
$aExtensionsMapData = [];
|
||||||
$this->oStep->setExtensionMap(iTopExtensionsMapFake::createFromArray($aExtensionsMapData));
|
$this->oWizStepModulesChoiceFake->setExtensionMap(iTopExtensionsMapFake::createFromArray($aExtensionsMapData));
|
||||||
|
|
||||||
//GetSelectedModules
|
//GetSelectedModules
|
||||||
$aStepInfo = [
|
$aStepInfo = [
|
||||||
@@ -956,7 +958,7 @@ class WizStepModulesChoiceTest extends ItopTestCase
|
|||||||
|
|
||||||
$aModules = [];
|
$aModules = [];
|
||||||
$aExtensions = [];
|
$aExtensions = [];
|
||||||
$this->oStep->GetSelectedModules($aStepInfo, ['_0' => '_0'], $aModules, '', '', $aExtensions);
|
$this->oWizStepModulesChoiceFake->GetSelectedModules($aStepInfo, ['_0' => '_0'], $aModules, '', '', $aExtensions);
|
||||||
$this->assertCount(0, $aModules);
|
$this->assertCount(0, $aModules);
|
||||||
$this->assertCount(1, $aExtensions);
|
$this->assertCount(1, $aExtensions);
|
||||||
|
|
||||||
@@ -1380,14 +1382,14 @@ HTML,
|
|||||||
'installed' => true,
|
'installed' => true,
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
$this->oStep->setExtensionMap(iTopExtensionsMapFake::createFromArray($aExtensionsOnDiskOrDb));
|
$this->oWizStepModulesChoiceFake->setExtensionMap(iTopExtensionsMapFake::createFromArray($aExtensionsOnDiskOrDb));
|
||||||
$aStepInfo = [
|
$aStepInfo = [
|
||||||
'options' => $aStepOptions,
|
'options' => $aStepOptions,
|
||||||
'alternatives' => $aStepAlternatives,
|
'alternatives' => $aStepAlternatives,
|
||||||
];
|
];
|
||||||
$oPage = new \WebPageFake();
|
$oPage = new \WebPageFake();
|
||||||
|
|
||||||
$this->oStep->DisplayOptions($oPage, $aStepInfo, $aSelectedComponents, $aDefaults);
|
$this->oWizStepModulesChoiceFake->DisplayOptions($oPage, $aStepInfo, $aSelectedComponents, $aDefaults);
|
||||||
|
|
||||||
$this->assertEquals($sExpectedHTML, $oPage->sContent);
|
$this->assertEquals($sExpectedHTML, $oPage->sContent);
|
||||||
}
|
}
|
||||||
@@ -1398,9 +1400,35 @@ HTML,
|
|||||||
$aSteps = $aParams->Get('steps', []);
|
$aSteps = $aParams->Get('steps', []);
|
||||||
|
|
||||||
$aSelectedExtensions = ["itop-config-mgmt-core","itop-config-mgmt-datacenter","itop-config-mgmt-end-user","itop-config-mgmt-storage","itop-config-mgmt-virtualization","itop-container-mgmt","itop-service-mgmt-enterprise","itop-ticket-mgmt-simple-ticket","itop-ticket-mgmt-simple-ticket-enhanced-portal","itop-change-mgmt-simple","itop-kown-error-mgmt","itop-problem-mgmt","combodo-oauth2-client","combodo-mfa-extended","combodo-data-replication","combodo-api-playground","combodo-snapshot"];
|
$aSelectedExtensions = ["itop-config-mgmt-core","itop-config-mgmt-datacenter","itop-config-mgmt-end-user","itop-config-mgmt-storage","itop-config-mgmt-virtualization","itop-container-mgmt","itop-service-mgmt-enterprise","itop-ticket-mgmt-simple-ticket","itop-ticket-mgmt-simple-ticket-enhanced-portal","itop-change-mgmt-simple","itop-kown-error-mgmt","itop-problem-mgmt","combodo-oauth2-client","combodo-mfa-extended","combodo-data-replication","combodo-api-playground","combodo-snapshot"];
|
||||||
$aRes = $this->oStep->GetSelectedComponents($aSteps, json_encode($aSelectedExtensions));
|
$aRes = $this->oWizStepModulesChoiceFake->GetSelectedComponents($aSteps, json_encode($aSelectedExtensions));
|
||||||
|
|
||||||
$aExpected = json_decode('[{"_0":"_0","_1":"_1","_2":"_2","_3":"_3","_4":"_4","_4_0":"_4_0"},{"_0":"_0"},{"_0":"_0","_0_0":"_0_0"},{"_0":"_0"},{"_0":"_0","_1":"_1"}]', true);
|
$aExpected = json_decode('[{"_0":"_0","_1":"_1","_2":"_2","_3":"_3","_4":"_4","_4_0":"_4_0"},{"_0":"_0"},{"_0":"_0","_0_0":"_0_0"},{"_0":"_0"},{"_0":"_0","_1":"_1"}]', true);
|
||||||
$this->assertEquals($aExpected, $aRes);
|
$this->assertEquals($aExpected, $aRes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testGetWizardSteps()
|
||||||
|
{
|
||||||
|
$this->oWizard->SetParameter('source_dir', __DIR__.'/ressources');
|
||||||
|
$aExtensionsOnDiskOrDb = [
|
||||||
|
'itop-ext-not-installed' => [
|
||||||
|
'installed' => false,
|
||||||
|
],
|
||||||
|
'itop-ext-installed' => [
|
||||||
|
'installed' => true,
|
||||||
|
],
|
||||||
|
];
|
||||||
|
$this->oWizStepModulesChoiceFake->setExtensionMap(iTopExtensionsMapFake::createFromArray($aExtensionsOnDiskOrDb));
|
||||||
|
|
||||||
|
$expected = [
|
||||||
|
["class" => "WizStepWelcome","state" => ""],
|
||||||
|
["class" => "WizStepInstallOrUpgrade","state" => ""],
|
||||||
|
["class" => "WizStepDetectedInfo","state" => ""],
|
||||||
|
["class" => "WizStepUpgradeMiscParams","state" => ""],
|
||||||
|
];
|
||||||
|
|
||||||
|
for ($i = 0;$i <= 5; $i++) {
|
||||||
|
$expected [] = ["class" => "WizStepModulesChoice","state" => "".$i];
|
||||||
|
}
|
||||||
|
$this->assertEquals($expected, $this->oWizStepModulesChoiceFake->GetWizardSteps());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user