mirror of
https://github.com/werkraum-media/events.git
synced 2024-11-22 13:56:11 +01:00
Daniel Siepmann
53ee309768
We switched to PHPDataSets already but didn't migrate all usages. This commit now migrates all usages left behind.
104 lines
3.3 KiB
PHP
104 lines
3.3 KiB
PHP
<?php
|
|
|
|
namespace Wrm\Events\Tests\Functional\Cleanup;
|
|
|
|
use Codappix\Typo3PhpDatasets\TestingFramework;
|
|
use Symfony\Component\Console\Command\Command;
|
|
use Symfony\Component\Console\Tester\CommandTester;
|
|
use TYPO3\CMS\Core\Utility\GeneralUtility;
|
|
use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
|
|
use Wrm\Events\Command\RemovePastCommand;
|
|
|
|
/**
|
|
* @testdox Cleanup RemovePast
|
|
*/
|
|
class RemovePastTest extends FunctionalTestCase
|
|
{
|
|
use TestingFramework;
|
|
|
|
protected $testExtensionsToLoad = [
|
|
'typo3conf/ext/events',
|
|
];
|
|
|
|
protected $pathsToProvideInTestInstance = [
|
|
'typo3conf/ext/events/Tests/Functional/Cleanup/Fixtures/RemovePastTestFileadmin/' => 'fileadmin/',
|
|
];
|
|
|
|
protected function setUp(): void
|
|
{
|
|
parent::setUp();
|
|
|
|
$this->setUpBackendUserFromFixture(1);
|
|
}
|
|
|
|
/**
|
|
* @test
|
|
*/
|
|
public function removesPastData(): void
|
|
{
|
|
$this->importPHPDataSet(__DIR__ . '/Fixtures/RemovePastTestDatabase.php');
|
|
|
|
$subject = $this->getContainer()->get(RemovePastCommand::class);
|
|
self::assertInstanceOf(Command::class, $subject);
|
|
|
|
$tester = new CommandTester($subject);
|
|
$tester->execute([], ['capture_stderr_separately' => true]);
|
|
|
|
self::assertSame(0, $tester->getStatusCode());
|
|
self::assertCount(
|
|
1,
|
|
$this->getAllRecords('tx_events_domain_model_partner'),
|
|
'Partners are not kept.'
|
|
);
|
|
self::assertCount(
|
|
1,
|
|
$this->getAllRecords('tx_events_domain_model_region'),
|
|
'Regions are not kept.'
|
|
);
|
|
self::assertCount(
|
|
2,
|
|
$this->getAllRecords('tx_events_domain_model_organizer'),
|
|
'Organizers are not kept.'
|
|
);
|
|
|
|
self::assertCount(
|
|
1,
|
|
$this->getAllRecords('tx_events_domain_model_event'),
|
|
'Events are still there.'
|
|
);
|
|
self::assertCount(
|
|
1,
|
|
$this->getAllRecords('tx_events_domain_model_date'),
|
|
'Dates are still there.'
|
|
);
|
|
|
|
self::assertCount(
|
|
1,
|
|
$this->getAllRecords('sys_category_record_mm'),
|
|
'Relations to categories still exist.'
|
|
);
|
|
|
|
self::assertCount(
|
|
3,
|
|
$this->getAllRecords('sys_file'),
|
|
'Unexpected number of sys_file records.'
|
|
);
|
|
self::assertCount(
|
|
3,
|
|
$this->getAllRecords('sys_file_reference'),
|
|
'Unexpected number of sys_file_reference records.'
|
|
);
|
|
self::assertCount(
|
|
3,
|
|
$this->getAllRecords('sys_file_metadata'),
|
|
'Unexpected number of sys_file_metadata records.'
|
|
);
|
|
|
|
$files = GeneralUtility::getFilesInDir('fileadmin/user_uploads');
|
|
self::assertIsArray($files, 'Failed to retrieve files from filesystem.');
|
|
self::assertCount(3, $files, 'Unexpected number of files in filesystem.');
|
|
self::assertSame('example-for-future-event.gif', array_values($files)[0], 'Unexpected file in filesystem.');
|
|
self::assertSame('example-for-partner.gif', array_values($files)[1], 'Unexpected file in filesystem.');
|
|
self::assertSame('example-to-keep.gif', array_values($files)[2], 'Unexpected file in filesystem.');
|
|
}
|
|
}
|