mirror of
https://github.com/Combodo/iTop.git
synced 2026-02-13 15:34:12 +01:00
# Conflicts: # core/cmdbsource.class.inc.php # core/config.class.inc.php # core/displayablegraph.class.inc.php # core/log.class.inc.php # datamodels/2.x/itop-config-mgmt/dictionaries/tr.dict.itop-config-mgmt.php # datamodels/2.x/itop-knownerror-mgmt/dictionaries/tr.dict.itop-knownerror-mgmt.php # datamodels/2.x/itop-service-mgmt/dictionaries/tr.dict.itop-service-mgmt.php # datamodels/2.x/itop-tickets/tr.dict.itop-tickets.php # datamodels/2.x/itop-welcome-itil/tr.dict.itop-welcome-itil.php # dictionaries/tr.dictionary.itop.core.php # dictionaries/tr.dictionary.itop.ui.php # pages/UI.php # setup/itopdesignformat.class.inc.php # test/core/LogAPITest.php # test/integration/iTopModulesPhpVersionChecklistTest.php # test/postbuild_integration/SetupCssIntegrityChecklistTest.php # test/postbuild_integration/iTopModuleXmlInstallationChecklistTest.php # test/status/StatusTest.php
79 lines
1.6 KiB
PHP
79 lines
1.6 KiB
PHP
<?php
|
|
|
|
|
|
namespace Combodo\iTop\Test\UnitTest\Core;
|
|
|
|
use Combodo\iTop\Test\UnitTest\ItopTestCase;
|
|
use CoreUnexpectedValue;
|
|
use MetaModel;
|
|
|
|
/**
|
|
* Class UniquenessConstraintTest
|
|
*
|
|
* @since 2.6.0 N°659 uniqueness constraint
|
|
*
|
|
* @package Combodo\iTop\Test\UnitTest\Core
|
|
*/
|
|
class UniquenessConstraintTest extends ItopTestCase
|
|
{
|
|
protected function setUp()
|
|
{
|
|
parent::setUp();
|
|
require_once(APPROOT.'/core/metamodel.class.php');
|
|
}
|
|
|
|
/**
|
|
* @covers MetaModel::CheckUniquenessRuleValidity
|
|
* @dataProvider uniquenessRuleValidityCheckProvider
|
|
*
|
|
* @param bool $bIsRuleShouldBeValid
|
|
* @param bool $bIsRuleOverride
|
|
* @param array $aRuleProperties
|
|
*/
|
|
public function testUniquenessRuleValidityCheck($bIsRuleShouldBeValid, $bIsRuleOverride, $aRuleProperties)
|
|
{
|
|
$bRuleValidResult = true;
|
|
try
|
|
{
|
|
MetaModel::CheckUniquenessRuleValidity($aRuleProperties, $bIsRuleOverride);
|
|
}
|
|
catch (CoreUnexpectedValue $e)
|
|
{
|
|
$bRuleValidResult = false;
|
|
}
|
|
|
|
$this->assertEquals($bIsRuleShouldBeValid, $bRuleValidResult, "Validity test returned $bRuleValidResult");
|
|
}
|
|
|
|
public function uniquenessRuleValidityCheckProvider()
|
|
{
|
|
return array(
|
|
'simplest rule' => array(true, false, array('attributes' => array('name'))),
|
|
'with all properties' => array(
|
|
true,
|
|
false,
|
|
array(
|
|
'attributes' => array('name'),
|
|
'filter' => 'name != \'\'',
|
|
'disabled' => false,
|
|
'is_blocking' => true,
|
|
),
|
|
),
|
|
'only disabled key without ancestor' => array(
|
|
false,
|
|
false,
|
|
array(
|
|
'disabled' => true,
|
|
),
|
|
),
|
|
'only disabled key with ancestor' => array(
|
|
true,
|
|
true,
|
|
array(
|
|
'disabled' => true,
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|