93 lines
4.1 KiB
PHP
93 lines
4.1 KiB
PHP
<?php
|
|
|
|
class ExtensionsCest
|
|
{
|
|
// tests
|
|
public function useAlternativeFormatter(CliGuy $I)
|
|
{
|
|
$I->wantTo('use alternative formatter delivered through extensions');
|
|
$I->amInPath('tests/data/sandbox');
|
|
$I->executeCommand('run tests/dummy/FileExistsCept.php -c codeception_extended.yml');
|
|
$I->dontSeeInShellOutput("Check config");
|
|
$I->seeInShellOutput('[+] FileExistsCept');
|
|
$I->seeInShellOutput('Modules used: Filesystem, DumbHelper');
|
|
}
|
|
|
|
public function loadExtensionByOverride(CliGuy $I)
|
|
{
|
|
$I->amInPath('tests/data/sandbox');
|
|
$I->executeCommand('run tests/dummy/FileExistsCept.php -o "extensions: enabled: [\Codeception\Extension\SimpleReporter]"');
|
|
$I->dontSeeInShellOutput("Check config");
|
|
$I->seeInShellOutput('[+] FileExistsCept');
|
|
}
|
|
|
|
public function dynamicallyEnablingExtensions(CliGuy $I)
|
|
{
|
|
$I->amInPath('tests/data/sandbox');
|
|
$I->executeCommand('run dummy --ext DotReporter');
|
|
$I->seeInShellOutput('......');
|
|
$I->dontSeeInShellOutput('Optimistic');
|
|
$I->dontSeeInShellOutput('AnotherCest');
|
|
}
|
|
|
|
public function reRunFailedTests(CliGuy $I)
|
|
{
|
|
$ds = DIRECTORY_SEPARATOR;
|
|
$I->amInPath('tests/data/sandbox');
|
|
|
|
$I->executeCommand('run unit FailingTest.php -c codeception_extended.yml --no-exit');
|
|
$I->seeInShellOutput('FAILURES');
|
|
$I->seeFileFound('failed', 'tests/_output');
|
|
$I->seeFileContentsEqual("tests{$ds}unit{$ds}FailingTest.php:testMe");
|
|
$I->executeCommand('run -g failed -c codeception_extended.yml --no-exit');
|
|
$I->seeInShellOutput('Tests: 1, Assertions: 1, Failures: 1');
|
|
|
|
$failGroup = "some-failed";
|
|
$I->executeCommand("run unit FailingTest.php -c codeception_extended.yml --no-exit --override \"extensions: config: Codeception\\Extension\\RunFailed: fail-group: {$failGroup}\"");
|
|
$I->seeInShellOutput('FAILURES');
|
|
$I->seeFileFound($failGroup, 'tests/_output');
|
|
$I->seeFileContentsEqual("tests{$ds}unit{$ds}FailingTest.php:testMe");
|
|
$I->executeCommand("run -g {$failGroup} -c codeception_extended.yml --no-exit --override \"extensions: config: Codeception\\Extension\\RunFailed: fail-group: {$failGroup}\"");
|
|
$I->seeInShellOutput('Tests: 1, Assertions: 1, Failures: 1');
|
|
}
|
|
|
|
public function checkIfExtensionsReceiveCorrectOptions(CliGuy $I)
|
|
{
|
|
$I->wantTo('check if extensions receive correct options');
|
|
$I->amInPath('tests/data/sandbox');
|
|
$I->executeCommand('run tests/dummy/AnotherCest.php:optimistic -c codeception_extended.yml');
|
|
$I->seeInShellOutput('Low verbosity');
|
|
$I->executeCommand('run tests/dummy/AnotherCest.php:optimistic -c codeception_extended.yml -v');
|
|
$I->seeInShellOutput('Medium verbosity');
|
|
$I->executeCommand('run tests/dummy/AnotherCest.php:optimistic -c codeception_extended.yml -vv');
|
|
$I->seeInShellOutput('High verbosity');
|
|
$I->executeCommand('run tests/dummy/AnotherCest.php:optimistic -c codeception_extended.yml -vvv');
|
|
$I->seeInShellOutput('Extreme verbosity');
|
|
}
|
|
|
|
public function runPerSuiteExtensions(CliGuy $I)
|
|
{
|
|
$I->amInPath('tests/data/sandbox');
|
|
$I->executeCommand('run extended,scenario', false);
|
|
$I->seeInShellOutput('Suite setup for extended');
|
|
$I->seeInShellOutput('Test setup for Hello');
|
|
$I->seeInShellOutput('Test teardown for Hello');
|
|
$I->seeInShellOutput('Suite teardown for extended');
|
|
$I->dontSeeInShellOutput('Suite setup for scenario');
|
|
$I->seeInShellOutput('Config1: value1');
|
|
$I->seeInShellOutput('Config2: value2');
|
|
}
|
|
|
|
public function runPerSuiteExtensionsInEnvironment(CliGuy $I)
|
|
{
|
|
$I->amInPath('tests/data/sandbox');
|
|
$I->executeCommand('run extended --env black', false);
|
|
$I->seeInShellOutput('Suite setup for extended');
|
|
$I->seeInShellOutput('Test setup for Hello');
|
|
$I->seeInShellOutput('Config1: black_value');
|
|
$I->seeInShellOutput('Config2: value2');
|
|
}
|
|
|
|
|
|
}
|