You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
1.8 KiB
74 lines
1.8 KiB
5 years ago
|
<?php
|
||
|
|
||
|
namespace tests\codeception\common\_support;
|
||
|
|
||
|
use tests\codeception\common\fixtures\UserFixture;
|
||
|
use Codeception\Module;
|
||
|
use yii\test\FixtureTrait;
|
||
|
use yii\test\InitDbFixture;
|
||
|
|
||
|
/**
|
||
|
* This helper is used to populate the database with needed fixtures before any tests are run.
|
||
|
* In this example, the database is populated with the demo login user, which is used in acceptance
|
||
|
* and functional tests. All fixtures will be loaded before the suite is started and unloaded after it
|
||
|
* completes.
|
||
|
*/
|
||
|
class FixtureHelper extends Module
|
||
|
{
|
||
|
|
||
|
/**
|
||
|
* Redeclare visibility because codeception includes all public methods that do not start with "_"
|
||
|
* and are not excluded by module settings, in actor class.
|
||
|
*/
|
||
|
use FixtureTrait {
|
||
|
loadFixtures as public;
|
||
|
fixtures as public;
|
||
|
globalFixtures as public;
|
||
|
createFixtures as public;
|
||
|
unloadFixtures as protected;
|
||
|
getFixtures as protected;
|
||
|
getFixture as protected;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Method called before any suite tests run. Loads User fixture login user
|
||
|
* to use in acceptance and functional tests.
|
||
|
* @param array $settings
|
||
|
*/
|
||
|
public function _beforeSuite($settings = [])
|
||
|
{
|
||
|
$this->loadFixtures();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Method is called after all suite tests run
|
||
|
*/
|
||
|
public function _afterSuite()
|
||
|
{
|
||
|
$this->unloadFixtures();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @inheritdoc
|
||
|
*/
|
||
|
public function globalFixtures()
|
||
|
{
|
||
|
return [
|
||
|
InitDbFixture::className(),
|
||
|
];
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @inheritdoc
|
||
|
*/
|
||
|
public function fixtures()
|
||
|
{
|
||
|
return [
|
||
|
'user' => [
|
||
|
'class' => UserFixture::className(),
|
||
|
'dataFile' => '@tests/codeception/common/fixtures/data/init_login.php',
|
||
|
],
|
||
|
];
|
||
|
}
|
||
|
}
|