<?php
namespace Cake\Test\Fixture;
use Cake\TestSuite\TestCase;
use Exception;
/**
* This class helps in testing the life-cycle of fixtures inside a CakeTestCase
*/
class FixturizedTestCase extends TestCase
{
/**
* Fixtures to use in this test
* @var array
*/
public $fixtures = ['core.Categories', 'core.Articles'];
/**
* test that the shared fixture is correctly set
*
* @return void
*/
public function testFixturePresent()
{
$this->assertInstanceOf('Cake\TestSuite\Fixture\FixtureManager', $this->fixtureManager);
}
/**
* test that it is possible to load fixtures on demand
*
* @return void
*/
public function testFixtureLoadOnDemand()
{
$this->loadFixtures('Categories');
}
/**
* test that calling loadFixtures without args loads all fixtures
*
* @return void
*/
public function testLoadAllFixtures()
{
$this->loadFixtures();
$article = $this->getTableLocator()->get('Articles')->get(1);
$this->assertSame(1, $article->id);
$category = $this->getTableLocator()->get('Categories')->get(1);
$this->assertSame(1, $category->id);
}
/**
* test that a test is marked as skipped using skipIf and its first parameter evaluates to true
*
* @return void
*/
public function testSkipIfTrue()
{
$this->skipIf(true);
}
/**
* test that a test is not marked as skipped using skipIf and its first parameter evaluates to false
*
* @return void
*/
public function testSkipIfFalse()
{
$this->skipIf(false);
}
/**
* test that a fixtures are unloaded even if the test throws exceptions
*
* @return void
* @throws \Exception
*/
public function testThrowException()
{
throw new Exception();
}
}