File: /home/aliazzsr/api.crm.vqode.com/tests/api/AuthEulaCept.php
<?php
$I = new ApiTester($scenario);
$I->wantTo('check EULA acceptance');
$I->comment('can\'t log in without EULA acceptance');
$I->updateInDatabase('user', ['eula_accepted_at' => null]);
$I->sendPOST('auth/login', ApiTester::$defaultCredentials);
$I->seeResponseCodeIs(\Codeception\Util\HttpCode::FORBIDDEN);
$I->dontseeResponseJsonMatchesJsonPath('$.user');
$I->dontseeResponseJsonMatchesJsonPath('$.token');
$acceptedDt = $I->grabFromDatabase('user', 'eula_accepted_at', ['name' => 'admin']);
$I->assertNull($acceptedDt);
$I->comment('accepting EULA');
$I->sendPOST('auth/login', array_merge(ApiTester::$defaultCredentials, ['acceptEula' => true]));
$I->seeResponseCodeIs(\Codeception\Util\HttpCode::OK);
$I->seeResponseJsonMatchesJsonPath('$.user');
$I->seeResponseJsonMatchesJsonPath('$.token');
$acceptedDt = $I->grabFromDatabase('user', 'eula_accepted_at', ['name' => 'admin']);
$I->assertNotNull($acceptedDt);
$I->comment('getting Forbidden when EULA changed');
$I->login(array_merge(ApiTester::$defaultCredentials, ['acceptEula' => true]));
$I->updateInDatabase('user', ['eula_accepted_at' => null]);
$I->sendGET('auth/verify');
$I->seeResponseCodeIs(\Codeception\Util\HttpCode::FORBIDDEN);