feat: enforce >90% SonarQube coverage standards for CakePHP and Laravel
- Add sonar-project.properties templates for CakePHP and Laravel - Update install.sh to automatically provision SonarQube config - Enhance cakephp-unit-test skill with exhaustive branch coverage rules - Update SonarQube guide with CakePHP specific rules and exclusion patterns - Enhance TableTest template with buildRules and validation failure cases
This commit is contained in:
@@ -101,4 +101,31 @@ class {{TABLE_NAME}}TableTest extends TestCase
|
||||
$saved = $this->{{VARIABLE_NAME}}->get($result->id);
|
||||
$this->assertSame('Sample Record', $saved->name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test buildRules method for uniqueness
|
||||
*/
|
||||
public function testBuildRulesUnique(): void
|
||||
{
|
||||
// Arrange
|
||||
$entity1 = $this->{{VARIABLE_NAME}}->newEntity([
|
||||
'name' => 'Unique Item',
|
||||
'email' => 'unique@example.com',
|
||||
]);
|
||||
$this->{{VARIABLE_NAME}}->save($entity1);
|
||||
|
||||
// Act - Attempt to save duplicate
|
||||
$entity2 = $this->{{VARIABLE_NAME}}->newEntity([
|
||||
'name' => 'Duplicate Item',
|
||||
'email' => 'unique@example.com',
|
||||
]);
|
||||
$result = $this->{{VARIABLE_NAME}}->save($entity2);
|
||||
|
||||
// Assert - Rule should fail if unique rule exists
|
||||
if (!empty($entity2->getErrors())) {
|
||||
$this->assertFalse($result);
|
||||
} else {
|
||||
$this->assertTrue(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user