mirror of
https://github.com/Combodo/iTop.git
synced 2026-05-20 15:52:24 +02:00
WIP - prepare cron cleanup + first tests
This commit is contained in:
@@ -10,7 +10,7 @@ namespace Combodo\iTop\Test\UnitTest\Module\DataFeatureRemoval\Service;
|
||||
use Combodo\iTop\DataFeatureRemoval\Entity\DeletionPlanSummaryEntity;
|
||||
use Combodo\iTop\DataFeatureRemoval\Helper\DataFeatureRemovalException;
|
||||
use Combodo\iTop\DataFeatureRemoval\Service\DeletionPlanService;
|
||||
use Combodo\iTop\Test\UnitTest\ItopDataTestCase;
|
||||
use Combodo\iTop\Test\UnitTest\ItopCustomDatamodelTestCase;
|
||||
use DeletionPlan;
|
||||
|
||||
/**
|
||||
@@ -32,7 +32,7 @@ use DeletionPlan;
|
||||
* @see DeletionPlanSummaryEntity
|
||||
* @see ItopDataTestCase
|
||||
*/
|
||||
class DeletionPlanServiceTest extends ItopDataTestCase
|
||||
class DeletionPlanServiceTest extends ItopCustomDatamodelTestCase
|
||||
{
|
||||
protected function setUp(): void
|
||||
{
|
||||
@@ -274,4 +274,53 @@ class DeletionPlanServiceTest extends ItopDataTestCase
|
||||
|
||||
$oMockService->ExecuteDeletionPlan(['SomeClass']);
|
||||
}
|
||||
|
||||
public function testExecuteDeletionPlan_DeleteAllWithoutLimit()
|
||||
{
|
||||
$iDFRToRemoveLeaf = $this->GivenObjectInDB('DFRToRemoveLeaf', ['name' => 'ga']);
|
||||
$this->GivenObjectInDB('DFRToUpdate', ['name' => 'bu', 'dfrtoremove_id' => $iDFRToRemoveLeaf]);
|
||||
$iDFRRemovedCollateral = $this->GivenObjectInDB('DFRRemovedCollateral', ['name' => 'zo', 'dfrtoremove_id' => $iDFRToRemoveLeaf]);
|
||||
$this->GivenObjectInDB('DFRRemovedCollateralCascade', ['name' => 'meu', 'dfrremovedcollateral_id' => $iDFRRemovedCollateral]);
|
||||
|
||||
$aClasses = [ 'DFRToRemoveLeaf' ];
|
||||
$aRes = DeletionPlanService::GetInstance()->ExecuteDeletionPlan($aClasses);
|
||||
$aExpected = [
|
||||
['DFRToUpdate', 1, 0 ],
|
||||
['DFRToRemoveLeaf', 0, 1 ],
|
||||
['DFRRemovedCollateral', 0, 1 ],
|
||||
['DFRRemovedCollateralCascade', 0, 1 ],
|
||||
];
|
||||
$this->AssertSummaryEquals($aExpected, $aRes, 'DeleteAllWithoutLimit');
|
||||
}
|
||||
|
||||
private function AssertSummaryEquals(array $expected, $actual, $sMessage = '')
|
||||
{
|
||||
$aExpected = [];
|
||||
foreach ($expected as $line) {
|
||||
$sClass = $line[0];
|
||||
$iUpdate = $line[1];
|
||||
$iDelete = $line[2];
|
||||
|
||||
$oDeletionPlanSummaryEntity = new DeletionPlanSummaryEntity($sClass);
|
||||
$oDeletionPlanSummaryEntity->iUpdateCount = $iUpdate;
|
||||
$oDeletionPlanSummaryEntity->iDeleteCount = $iDelete;
|
||||
$aExpected[$sClass] = $oDeletionPlanSummaryEntity;
|
||||
}
|
||||
$this->assertEquals($aExpected, $actual, $sMessage);
|
||||
}
|
||||
|
||||
public function testExecuteDeletionPlan_StopInUpdates()
|
||||
{
|
||||
self::markTestSkipped();
|
||||
}
|
||||
|
||||
public function testExecuteDeletionPlan_StopInDeletes()
|
||||
{
|
||||
self::markTestSkipped();
|
||||
}
|
||||
|
||||
public function GetDatamodelDeltaAbsPath(): string
|
||||
{
|
||||
return __DIR__.'/deletionplan_delta.xml';
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user