mirror of
https://github.com/FriendsOfTYPO3/tea.git
synced 2024-11-25 06:56: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