mirror of
https://github.com/FriendsOfTYPO3/tea.git
synced 2024-11-22 12:36:12 +01:00
parent
1af328f27b
commit
271bd24c4f
5 changed files with 124 additions and 0 deletions
106
Tests/Functional/Command/CreateTestDataCommandTest.php
Normal file
106
Tests/Functional/Command/CreateTestDataCommandTest.php
Normal file
|
@ -0,0 +1,106 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace TTN\Tea\Tests\Functional\Command;
|
||||||
|
|
||||||
|
use Symfony\Component\Console\Application;
|
||||||
|
use Symfony\Component\Console\Command\Command;
|
||||||
|
use Symfony\Component\Console\Tester\CommandTester;
|
||||||
|
use TTN\Tea\Command\CreateTestDataCommand;
|
||||||
|
use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @covers \TTN\Tea\Command\CreateTestDataCommand
|
||||||
|
*/
|
||||||
|
class CreateTestDataCommandTest extends FunctionalTestCase
|
||||||
|
{
|
||||||
|
private const COMMAND_NAME = 'tea:createtestdata';
|
||||||
|
|
||||||
|
protected array $testExtensionsToLoad = ['ttn/tea'];
|
||||||
|
|
||||||
|
private CreateTestDataCommand $subject;
|
||||||
|
|
||||||
|
private CommandTester $commandTester;
|
||||||
|
|
||||||
|
protected function setUp(): void
|
||||||
|
{
|
||||||
|
parent::setUp();
|
||||||
|
$this->importCSVDataSet(__DIR__ . '/Fixtures/Database/Pages.csv');
|
||||||
|
$this->subject = new CreateTestDataCommand(self::COMMAND_NAME);
|
||||||
|
$application = new Application();
|
||||||
|
$application->add($this->subject);
|
||||||
|
|
||||||
|
$command = $application->find('tea:createtestdata');
|
||||||
|
$this->commandTester = new CommandTester($command);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @test
|
||||||
|
*/
|
||||||
|
public function isConsoleCommand(): void
|
||||||
|
{
|
||||||
|
self::assertInstanceOf(Command::class, $this->subject);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @test
|
||||||
|
*/
|
||||||
|
public function hasDescription(): void
|
||||||
|
{
|
||||||
|
$expected = 'Create test data for the tea extension in an already existing page (sysfolder).';
|
||||||
|
self::assertSame($expected, $this->subject->getHelp());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @test
|
||||||
|
*/
|
||||||
|
public function hasHelpText(): void
|
||||||
|
{
|
||||||
|
$expected = 'Create test data for the tea extension in an already existing page (sysfolder).';
|
||||||
|
self::assertSame($expected, $this->subject->getHelp());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @test
|
||||||
|
*/
|
||||||
|
public function runReturnsSuccessStatus(): void
|
||||||
|
{
|
||||||
|
$result = $this->commandTester->execute(
|
||||||
|
[
|
||||||
|
'pageUid' => '1',
|
||||||
|
],
|
||||||
|
);
|
||||||
|
|
||||||
|
self::assertSame(Command::SUCCESS, $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @test
|
||||||
|
*/
|
||||||
|
public function testDataGetsCreated(): void
|
||||||
|
{
|
||||||
|
$this->commandTester->execute([
|
||||||
|
'pageUid' => '1',
|
||||||
|
]);
|
||||||
|
|
||||||
|
self::assertCSVDataSet(__DIR__ . '/Fixtures/Database/Teas.csv');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @test
|
||||||
|
*/
|
||||||
|
public function testDataGetsDeletedBeforeNewDataCreated(): void
|
||||||
|
{
|
||||||
|
$this->importCSVDataSet(__DIR__ . '/Fixtures/Database/Teas.csv');
|
||||||
|
$this->commandTester->execute(
|
||||||
|
[
|
||||||
|
'pageUid' => '1',
|
||||||
|
'--delete-data-before' => true,
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
|
self::assertCSVDataSet(__DIR__ . '/Fixtures/Database/TeasAfterDelete.csv');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
6
Tests/Functional/Command/Fixtures/Database/OtherTeas.csv
Normal file
6
Tests/Functional/Command/Fixtures/Database/OtherTeas.csv
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
"tx_tea_domain_model_tea"
|
||||||
|
,"uid","pid","title","description","deleted"
|
||||||
|
,3,1,"Darjeeling","I love that tea!","0"
|
||||||
|
,4,1,"Earl Grey","A nice tea!","0"
|
||||||
|
,1,2,"Black tea","I hate that.","0"
|
||||||
|
,2,2,"Green tea","Is ok.","0"
|
Can't render this file because it has a wrong number of fields in line 2.
|
4
Tests/Functional/Command/Fixtures/Database/Pages.csv
Normal file
4
Tests/Functional/Command/Fixtures/Database/Pages.csv
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
"pages",,,,,,,,,
|
||||||
|
,"uid","pid","sorting","deleted","t3_origuid","title",,,
|
||||||
|
,1,0,256,0,0,"Tea data",,,
|
||||||
|
,2,0,512,0,0,"Other tea data",,,
|
|
4
Tests/Functional/Command/Fixtures/Database/Teas.csv
Normal file
4
Tests/Functional/Command/Fixtures/Database/Teas.csv
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
"tx_tea_domain_model_tea"
|
||||||
|
,"uid","pid","title","description","deleted"
|
||||||
|
,1,1,"Darjeeling","I love that tea!",0
|
||||||
|
,2,1,"Earl Grey","A nice tea!",0
|
Can't render this file because it has a wrong number of fields in line 2.
|
|
@ -0,0 +1,4 @@
|
||||||
|
"tx_tea_domain_model_tea"
|
||||||
|
,"uid","pid","title","description","deleted"
|
||||||
|
,3,1,"Darjeeling","I love that tea!",0
|
||||||
|
,4,1,"Earl Grey","A nice tea!",0
|
Can't render this file because it has a wrong number of fields in line 2.
|
Loading…
Reference in a new issue