106 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
		
		
			
		
	
	
			106 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
|  | <?php | ||
|  | declare(strict_types=1); | ||
|  | 
 | ||
|  | namespace CakeProducts\Test\TestCase\Model\Table; | ||
|  | 
 | ||
|  | use Cake\TestSuite\TestCase; | ||
|  | use CakeProducts\Model\Table\ProductsTable; | ||
|  | 
 | ||
|  | /** | ||
|  |  * CakeProducts\Model\Table\ProductsTable Test Case | ||
|  |  */ | ||
|  | class ProductsTableTest extends TestCase | ||
|  | { | ||
|  |     /** | ||
|  |      * Test subject | ||
|  |      * | ||
|  |      * @var ProductsTable | ||
|  |      */ | ||
|  |     protected $Products; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Fixtures | ||
|  |      * | ||
|  |      * @var array<string> | ||
|  |      */ | ||
|  |     protected array $fixtures = [ | ||
|  |         'plugin.CakeProducts.Products', | ||
|  |         'plugin.CakeProducts.ProductCategories', | ||
|  |     ]; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * setUp method | ||
|  |      * | ||
|  |      * @return void | ||
|  |      */ | ||
|  |     protected function setUp(): void | ||
|  |     { | ||
|  |         parent::setUp(); | ||
|  |         $config = $this->getTableLocator()->exists('Products') ? [] : ['className' => ProductsTable::class]; | ||
|  |         $this->Products = $this->getTableLocator()->get('Products', $config); | ||
|  |     } | ||
|  | 
 | ||
|  |     /** | ||
|  |      * tearDown method | ||
|  |      * | ||
|  |      * @return void | ||
|  |      */ | ||
|  |     protected function tearDown(): void | ||
|  |     { | ||
|  |         unset($this->Products); | ||
|  | 
 | ||
|  |         parent::tearDown(); | ||
|  |     } | ||
|  | 
 | ||
|  |     /** | ||
|  |     * TestInitialize method | ||
|  |     * | ||
|  |     * @return void | ||
|  |     * @uses ProductsTable::initialize | ||
|  |     */ | ||
|  |     public function testInitialize(): void | ||
|  |     { | ||
|  |         // verify all associations loaded
 | ||
|  |         $expectedAssociations = [ | ||
|  |             'ProductCategories', | ||
|  |         ]; | ||
|  |         $associations = $this->Products->associations(); | ||
|  | 
 | ||
|  |         $this->assertCount(count($expectedAssociations), $associations); | ||
|  |         foreach ($expectedAssociations as $expectedAssociation) { | ||
|  |             $this->assertTrue($this->Products->hasAssociation($expectedAssociation)); | ||
|  |         } | ||
|  | 
 | ||
|  |         // verify all behaviors loaded
 | ||
|  |         $expectedBehaviors = []; | ||
|  |         $behaviors = $this->Products->behaviors(); | ||
|  | 
 | ||
|  |         $this->assertCount(count($expectedBehaviors), $behaviors); | ||
|  |         foreach ($expectedBehaviors as $expectedBehavior) { | ||
|  |             $this->assertTrue($this->Products->hasBehavior($expectedBehavior)); | ||
|  |         } | ||
|  |     } | ||
|  | 
 | ||
|  |     /** | ||
|  |     * Test validationDefault method | ||
|  |     * | ||
|  |     * @return void | ||
|  |     * @uses ProductsTable::validationDefault | ||
|  |     */ | ||
|  |     public function testValidationDefault(): void | ||
|  |     { | ||
|  |         $this->markTestIncomplete('Not implemented yet.'); | ||
|  |     } | ||
|  | 
 | ||
|  |     /** | ||
|  |     * Test buildRules method | ||
|  |     * | ||
|  |     * @return void | ||
|  |     * @uses ProductsTable::buildRules | ||
|  |     */ | ||
|  |     public function testBuildRules(): void | ||
|  |     { | ||
|  |         $this->markTestIncomplete('Not implemented yet.'); | ||
|  |     } | ||
|  | } |