CakeProducts/tests/TestCase/Model/Table/ProductVariantsTableTest.php

109 lines
2.7 KiB
PHP

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