N°9009 - fix removing sources of a mandatory module

This commit is contained in:
Eric Espie
2026-04-30 12:03:38 +02:00
parent c4eaeeeb5f
commit da282e6c24
2 changed files with 38 additions and 5 deletions

View File

@@ -2,15 +2,13 @@
namespace Combodo\iTop\Test\UnitTest\Integration;
use Combodo\iTop\Application\WebPage\WebPage;
use Combodo\iTop\Test\UnitTest\ItopTestCase;
use iTopExtension;
use iTopExtensionsMap;
use iTopExtensionsMapFake;
use ModuleDiscovery;
use WepPageFake;
use WizardController;
use WizStepModulesChoiceFake;
use WepPageFake;
use XMLParameters;
class WizStepModulesChoiceTest extends ItopTestCase
@@ -930,6 +928,40 @@ class WizStepModulesChoiceTest extends ItopTestCase
$this->oStep->GetSelectedModules($aStepInfo, ['_0' => '_0'], $aModules, '', '', $aExtensions);
}
public function testGetSelectedModulesShouldNotThrowAnExceptionWhenAMandatoryModuleIsMissing()
{
$aExtensionsMapData = [];
$this->oStep->setExtensionMap(iTopExtensionsMapFake::createFromArray($aExtensionsMapData));
//GetSelectedModules
$aStepInfo = [
'title' => 'Extensions',
'description' => '',
'banner' => '',
'options' => [
[
'extension_code' => 'combodo-sample',
'title' => 'Sample extension',
'description' => '',
'more_info' => '',
'default' => true,
'modules' => [],
'mandatory' => true,
'source_label' => '',
'uninstallable' => true,
'missing' => true,
],
],
];
$aModules = [];
$aExtensions = [];
$this->oStep->GetSelectedModules($aStepInfo, ['_0' => '_0'], $aModules, '', '', $aExtensions);
$this->assertCount(0, $aModules);
$this->assertCount(1, $aExtensions);
}
public function ProviderDisplayOptions()
{
return [