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.');
|
|
}
|
|
}
|