<?php namespace tests\codeception\common\_support; use Codeception\Module; use Codeception\TestCase; use tests\codeception\common\fixtures\AccountFixture; use tests\codeception\common\fixtures\AccountSessionFixture; use tests\codeception\common\fixtures\EmailActivationFixture; use tests\codeception\common\fixtures\OauthClientFixture; use tests\codeception\common\fixtures\OauthScopeFixture; use tests\codeception\common\fixtures\OauthSessionFixture; use yii\test\FixtureTrait; use yii\test\InitDbFixture; /** * This helper is used to populate the database with needed fixtures before any tests are run. * 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 protected; fixtures as protected; globalFixtures as protected; unloadFixtures as protected; getFixtures as protected; getFixture as protected; } public function _before(TestCase $test) { $this->loadFixtures(); } public function _after(TestCase $test) { $this->unloadFixtures(); } public function globalFixtures() { return [ InitDbFixture::className(), ]; } public function fixtures() { return [ 'accounts' => AccountFixture::class, 'accountSessions' => AccountSessionFixture::class, 'emailActivations' => EmailActivationFixture::class, 'oauthClients' => [ 'class' => OauthClientFixture::class, 'dataFile' => '@tests/codeception/common/fixtures/data/oauth-clients.php', ], 'oauthScopes' => [ 'class' => OauthScopeFixture::class, 'dataFile' => '@tests/codeception/common/fixtures/data/oauth-scopes.php', ], 'oauthSessions' => [ 'class' => OauthSessionFixture::class, 'dataFile' => '@tests/codeception/common/fixtures/data/oauth-sessions.php', ], ]; } }