Db Settings In Codeception Apiguy

I have REST Api and would like to test it using Codeception Rest ApiGuy http://codeception.com/docs/10-WebServices

I installed it:




$ php codecept.phar generate:suite api ApiGuy



Configured \www\frontend\tests\api.suite.yml




class_name: ApiGuy

modules:

    enabled: [PhpBrowser, REST, ApiHelper, Db]

    config:

      PhpBrowser:

          url: http://mysite/

      REST:

          url: http://mysite/api/

      Yii2:

          configFile: 'tests/api/_config.php'

      Db:

          dsn: 'mysql:host=localhost;dbname=yii2_advanced_api'

          user: 'root'

          password: ''

          dump: ''



Run build command.

Then created config files:

\www\frontend\tests\api\_config.php




<?php

return yii\helpers\ArrayHelper::merge(

    require(__DIR__ . '/../../config/main.php'),

    require(__DIR__ . '/../../config/main-local.php'),

    require(__DIR__ . '/../../../common/config/main.php'),

    require(__DIR__ . '/../../../common/config/main-local.php'),

    require(__DIR__ . '/../_config.php'),

    [

        'components' => [

            'db' => [

                'dsn' => 'mysql:host=localhost;dbname=yii2_advanced_api',

            ],

        ],

    ]

);



\www\frontend\tests\api\_bootstrap.php




<?php


new yii\web\Application(require(__DIR__ . '/_config.php'));



Now when I write in test something like:




User::deleteAll(['email'=>$email]);



It works with the "yii2_advanced_api" DB.

But when I run:




$I->sendPOST('users', array('password' => '123123', 'email' => 'davert@codeception.com'));

$I->seeResponseCodeIs(201);



It creates user in my main DB not in "yii2_advanced_api".

How I can change so it works with "yii2_advanced_api" instead?

Hi alex-ks,

Did you find an answer for this?