Blame view

tests/codeception/common/_support/FixtureHelper.php 1.87 KB
4253cbec   root   first commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
  <?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',

              ],

          ];

      }

  }