‪TYPO3CMS  11.5
CommandCest.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
20 use Codeception\Example;
21 use Codeception\Scenario;
23 
28 {
35  public function ‪runCommand(‪ApplicationTester $I, Example $testData, Scenario $scenario): void
36  {
37  $isComposerMode = str_contains($scenario->current('env'), 'composer');
38  $binDir = $isComposerMode ? 'vendor/bin' : '../../../../bin';
39  if ($isComposerMode && $testData['skipComposer'] ?? false) {
40  $scenario->skip('This test is skipped in composer mode');
41  return;
42  }
43  $I->runShellCommand(sprintf('%s/typo3 %s', $binDir, $testData['command']), false);
44  $I->seeResultCodeIs($testData['code']);
45  }
46 
54  protected function ‪commandTestDataProvider(): array
55  {
56  return [
57  ['command' => 'cache:flush', 'code' => 0, 'skipComposer' => false],
58  ['command' => 'cache:warmup', 'code' => 0, 'skipComposer' => false],
59  ['command' => 'cleanup:flexforms', 'code' => 0, 'skipComposer' => false],
60  ['command' => 'cleanup:deletedrecords', 'code' => 0, 'skipComposer' => false],
61  ['command' => 'cleanup:multiplereferencedfiles --dry-run --update-refindex', 'code' => 0, 'skipComposer' => false],
62  ['command' => 'cleanup:lostfiles --dry-run --update-refindex', 'code' => 0, 'skipComposer' => false],
63  ['command' => 'cleanup:missingfiles --dry-run --update-refindex', 'code' => 0, 'skipComposer' => false],
64  ['command' => 'cleanup:missingrelations --dry-run --update-refindex', 'code' => 0, 'skipComposer' => false],
65  ['command' => 'cleanup:orphanrecords', 'code' => 0, 'skipComposer' => false],
66  ['command' => 'cleanup:previewlinks', 'code' => 0, 'skipComposer' => false],
67  ['command' => 'cleanup:versions', 'code' => 0, 'skipComposer' => false],
68  ['command' => 'extension:list', 'code' => 0, 'skipComposer' => false],
69  ['command' => 'extension:setup', 'code' => 0, 'skipComposer' => false],
70  ['command' => 'extension:deactivate workspaces', 'code' => 0, 'skipComposer' => true],
71  ['command' => 'extension:activate workspaces', 'code' => 0, 'skipComposer' => true],
72  ['command' => 'language:update', 'code' => 0, 'skipComposer' => false],
73  ['command' => 'mailer:spool:send', 'code' => 1, 'skipComposer' => false],
74  ['command' => 'redirects:checkintegrity', 'code' => 0, 'skipComposer' => false],
75  ['command' => 'redirects:cleanup', 'code' => 0, 'skipComposer' => false],
76  ['command' => 'referenceindex:update --check', 'code' => 0, 'skipComposer' => false],
77  ['command' => 'scheduler:run', 'code' => 0, 'skipComposer' => false],
78  ['command' => 'site:list', 'code' => 0, 'skipComposer' => false],
79  ['command' => 'site:show styleguide-demo-51', 'code' => 0, 'skipComposer' => false],
80  ['command' => 'syslog:list', 'code' => 0, 'skipComposer' => false],
81  ['command' => 'upgrade:list', 'code' => 0, 'skipComposer' => false],
82  ];
83  }
84 }
‪TYPO3\CMS\Core\Tests\Acceptance\Support\ApplicationTester
Definition: ApplicationTester.php:27
‪TYPO3\CMS\Core\Tests\Acceptance\Application\Cli\CommandCest\runCommand
‪runCommand(ApplicationTester $I, Example $testData, Scenario $scenario)
Definition: CommandCest.php:35
‪TYPO3\CMS\Core\Tests\Acceptance\Application\Cli\CommandCest\commandTestDataProvider
‪commandTestDataProvider()
Definition: CommandCest.php:54
‪TYPO3\CMS\Core\Tests\Acceptance\Application\Cli\CommandCest
Definition: CommandCest.php:28
‪TYPO3\CMS\Core\Tests\Acceptance\Application\Cli
Definition: CommandCest.php:18