Server_AccessControl/vendor/codeception/base/tests/cli/RunEnvironmentCest.php
2020-10-06 14:27:47 +07:00

129 lines
5.2 KiB
PHP

<?php
class RunEnvironmentCest
{
public function testDevEnvironment(CliGuy $I)
{
$I->wantTo('execute test in --dev environment');
$I->amInPath('tests/data/sandbox');
$I->executeCommand('run dummy --env=dev');
$I->seeInShellOutput("OK (");
}
public function testProdEnvironment(CliGuy $I)
{
$I->wantTo('execute test in non existent --prod environment');
$I->amInPath('tests/data/sandbox');
$I->executeCommand('run dummy --env=prod');
$I->dontSeeInShellOutput("OK (");
$I->seeInShellOutput("No tests executed");
}
public function testEnvironmentParams(CliGuy $I)
{
$I->wantTo('execute check that env params applied');
$I->amInPath('tests/data/sandbox');
$I->executeCommand('run powers PowerIsRisingCept.php --env=dev -vv --steps');
$I->seeInShellOutput('I got the power');
$I->seeInShellOutput("PASSED");
$I->seeInShellOutput("OK (");
}
public function testWithoutEnvironmentParams(CliGuy $I)
{
$I->wantTo('execute check that env params applied');
$I->amInPath('tests/data/sandbox');
$I->executeCommand('run powers PowerIsRisingCept.php -vv --no-exit');
$I->seeInShellOutput("I have no power");
$I->seeInShellOutput("FAIL");
}
public function runTestForSpecificEnvironment(CliGuy $I)
{
$I->amInPath('tests/data/sandbox');
$I->executeCommand('run powers MageGuildCest.php --env whisky');
$I->seeInShellOutput('MageGuildCest: Red label');
$I->seeInShellOutput('MageGuildCest: Black label');
$I->seeInShellOutput('MageGuildCest: Power of the universe');
$I->seeInShellOutput('OK (3 tests, 3 assertions)');
}
public function runTestForNotIncludedEnvironment(CliGuy $I)
{
$I->amInPath('tests/data/sandbox');
$I->executeCommand('run powers MageGuildCest.php --env dev');
$I->seeInShellOutput('MageGuildCest: Power of the universe');
$I->seeInShellOutput('OK (1 test, 1 assertion)');
}
public function testEnvFileLoading(CliGuy $I)
{
$I->wantTo('test that env configuration files are loaded correctly');
$I->amInPath('tests/data/sandbox');
$I->executeCommand('run messages MessageCest.php:allMessages -vv --env env2');
$I->seeInShellOutput('message1: MESSAGE1 FROM ENV2-DIST.');
$I->seeInShellOutput('message2: MESSAGE2 FROM ENV2.');
$I->seeInShellOutput('message3: MESSAGE3 FROM SUITE.');
$I->seeInShellOutput('message4: DEFAULT MESSAGE4.');
}
public function testEnvMerging(CliGuy $I)
{
$I->wantTo('test that given environments are merged properly');
$I->amInPath('tests/data/sandbox');
$I->executeCommand('run messages MessageCest.php:allMessages -vv --env env1,env2');
$I->seeInShellOutput('message1: MESSAGE1 FROM ENV2-DIST.');
$I->seeInShellOutput('message4: MESSAGE4 FROM SUITE-ENV1.');
$I->executeCommand('run messages MessageCest.php:allMessages -vv --env env2,env1');
$I->seeInShellOutput('message1: MESSAGE1 FROM SUITE-ENV1.');
$I->seeInShellOutput('message4: MESSAGE4 FROM SUITE-ENV1.');
}
public function runTestForMultipleEnvironments(CliGuy $I)
{
$I->wantTo('check that multiple required environments are taken into account');
$I->amInPath('tests/data/sandbox');
$I->executeCommand('run messages MessageCest.php:multipleEnvRequired -vv --env env1');
$I->dontSeeInShellOutput('Multiple env given');
$I->executeCommand('run messages MessageCest.php:multipleEnvRequired -vv --env env2');
$I->dontSeeInShellOutput('Multiple env given');
$I->executeCommand('run messages MessageCest.php:multipleEnvRequired -vv --env env1,env2');
$I->seeInShellOutput('Multiple env given');
$I->executeCommand('run messages MessageCest.php:multipleEnvRequired -vv --env env2,env1');
$I->seeInShellOutput('Multiple env given');
}
public function generateEnvConfig(CliGuy $I)
{
$I->amInPath('tests/data/sandbox');
$I->executeCommand('g:env firefox');
$I->seeInShellOutput('firefox config was created');
$I->seeFileFound('tests/_envs/firefox.yml');
}
public function runEnvironmentForCept(CliGuy $I)
{
$I->amInPath('tests/data/sandbox');
$I->executeCommand('run messages --env email');
$I->seeInShellOutput('Test emails');
$I->dontSeeInShellOutput('Multiple env given');
$I->executeCommand('run messages --env env1');
$I->dontSeeInShellOutput('Test emails');
}
public function showExceptionForUnconfiguredEnvironment(CliGuy $I)
{
$I->amInPath('tests/data/sandbox');
$I->executeCommand('run skipped NoEnvironmentCept --no-exit');
$I->seeInShellOutput("Environment nothing was not configured but used");
$I->seeInShellOutput('WARNING');
}
public function environmentsFromSubfolders(CliGuy $I)
{
$I->amInPath('tests/data/sandbox');
$I->executeCommand('run messages MessageCest.php:allMessages -vv --env env3');
$I->seeInShellOutput('MESSAGE2 FROM ENV3');
}
}