Codeception Lumen API - "драйвер Auth Guard [api] не определен" при выполнении нескольких запросов в одном тесте

У меня есть API, который я создаю с помощью Lumen 5.3. Для аутентификации я использую Laravel Passport (перенесенный в Lumen через https://github.com/dusterio/lumen-passport).

Все работает хорошо в Почтальоне, и все тесты проходят хорошо с одним запросом. Однако, когда я делаю тест с несколькими запросами, я получаю сообщение об ошибке: "Драйвер Auth Guard [api] не определен". Защита определена в моей конфигурации аутентификации, и, как я уже сказал, отлично работает вне этого контрольного примера.

Пример теста:

    public function it_requires_users_password_when_updating_email(ApiTester $I)
    {
        $I->wantTo('Require password when updating email');
        $user = factory(\App\User::class)->create();
        $I->sendPOST('oauth/token', [
            'grant_type' => 'password',
            'client_id' => 1,
            'client_secret' => env('OAUTH_SECRET'),
            'username' => $user->email,
            'password' => 'password',
            'scope' => ''
        ]);
        $token = $I->grabDataFromResponseByJsonPath('$.access_token')[0];
        $I->amBearerAuthenticated($token);
        $I->sendPUT('users/' . $user->id, ['email' => 'bender.rodriguez@planetexpress.com']);
        $I->seeResponseCodeIs(422);
        $I->seeRecord('users', array_only($user->toArray(), ['id', 'email']));
        $I->dontSeeRecord('users', ['id' => $user->id, 'email' => 'bender.rodriguez@planetexpress.com']);
        $I->sendPUT('users/' . $user->id, ['email' => 'bender.rodriguez@planetexpress.com', 'password' => 'password']);
        $I->seeResponseCodeIs(200);
        $I->seeRecord('users', ['id' => $user->id, 'email' => 'bender.rodriguez@planetexpress.com']);
    }

Тест проходит нормально, если я удаляю последние 3 строки (все из 2-го запроса sendPUT), но как только я включаю это, я получаю ошибку.

Есть идеи?

0 ответов

Другие вопросы по тегам