*/ protected array $fixtures = [ 'app.{{TABLE_NAME}}', ]; /** * setUp method */ protected function setUp(): void { parent::setUp(); $config = $this->getTableLocator()->exists('{{TABLE_NAME}}') ? [] : ['className' => {{TABLE_NAME}}Table::class]; $this->{{VARIABLE_NAME}} = $this->getTableLocator()->get('{{TABLE_NAME}}', $config); } /** * tearDown method */ protected function tearDown(): void { unset($this->{{VARIABLE_NAME}}); parent::tearDown(); } /** * Test validationDefault method with valid data */ public function testValidationDefaultSuccess(): void { // Arrange $data = [ 'name' => 'Valid Title', 'status' => 'active', ]; // Act $entity = $this->{{VARIABLE_NAME}}->newEntity($data); // Assert $this->assertEmpty($entity->getErrors()); } /** * Test validationDefault method with missing required fields */ public function testValidationDefaultFailsOnRequiredFields(): void { // Arrange $data = []; // Act $entity = $this->{{VARIABLE_NAME}}->newEntity($data); // Assert $this->assertNotEmpty($entity->getErrors()); $this->assertArrayHasKey('name', $entity->getErrors()); } /** * Test save and find */ public function testSaveAndFind(): void { // Arrange $entity = $this->{{VARIABLE_NAME}}->newEntity([ 'name' => 'Sample Record', 'status' => 'active', ]); // Act $result = $this->{{VARIABLE_NAME}}->save($entity); // Assert $this->assertNotFalse($result); $this->assertNotNull($result->id); $saved = $this->{{VARIABLE_NAME}}->get($result->id); $this->assertSame('Sample Record', $saved->name); } }