RequireOnceItopFile('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 [ 'simplest rule' => [true, false, ['attributes' => ['name']]], 'with all properties' => [ true, false, [ 'attributes' => ['name'], 'filter' => 'name != \'\'', 'disabled' => false, 'is_blocking' => true, ], ], 'only disabled key without ancestor' => [ false, false, [ 'disabled' => true, ], ], 'only disabled key with ancestor' => [ true, true, [ 'disabled' => true, ], ], ]; } }