diff --git a/Documentation/Changelog/2.6.0.rst b/Documentation/Changelog/2.5.1.rst similarity index 71% rename from Documentation/Changelog/2.6.0.rst rename to Documentation/Changelog/2.5.1.rst index 64e20a2..c0bcc5e 100644 --- a/Documentation/Changelog/2.6.0.rst +++ b/Documentation/Changelog/2.5.1.rst @@ -25,6 +25,8 @@ Tasks * Make sql within tests on CI more robust. Wait until server has started before executing tests. +* Migrate test fixtures to PHP Data Sets using `codappix/typo3-php-datasets `_ + Deprecation ----------- diff --git a/Tests/Functional/Command/UpdateDataCommandTest.php b/Tests/Functional/Command/UpdateDataCommandTest.php index 5626500..50345a5 100644 --- a/Tests/Functional/Command/UpdateDataCommandTest.php +++ b/Tests/Functional/Command/UpdateDataCommandTest.php @@ -21,16 +21,19 @@ namespace DanielSiepmann\Tracking\Tests\Functional\Command; * 02110-1301, USA. */ +use Codappix\Typo3PhpDatasets\TestingFramework; use DanielSiepmann\Tracking\Command\UpdateDataCommand; use Symfony\Component\Console\Tester\CommandTester; use TYPO3\CMS\Core\Utility\GeneralUtility; -use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase as TestCase; +use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase; /** * @covers \DanielSiepmann\Tracking\Command\UpdateDataCommand */ -class UpdateDataCommandTest extends TestCase +class UpdateDataCommandTest extends FunctionalTestCase { + use TestingFramework; + protected array $testExtensionsToLoad = [ 'typo3conf/ext/tracking', ]; @@ -44,7 +47,7 @@ class UpdateDataCommandTest extends TestCase */ public function updatesAllEntriesWithMissingOperatingSystem(): void { - $this->importDataSet('EXT:tracking/Tests/Functional/Fixtures/UpdateDataCommandTest/PageviewsWithMissingOperatingSystem.xml'); + $this->importPHPDataSet(__DIR__ . '/../Fixtures/UpdateDataCommandTest/PageviewsWithMissingOperatingSystem.php'); $subject = GeneralUtility::makeInstance(UpdateDataCommand::class); $tester = new CommandTester($subject); @@ -63,7 +66,7 @@ class UpdateDataCommandTest extends TestCase */ public function doesNotChangeExistingOperatingSystem(): void { - $this->importDataSet('EXT:tracking/Tests/Functional/Fixtures/UpdateDataCommandTest/PageviewsWithOperatingSystem.xml'); + $this->importPHPDataSet(__DIR__ . '/../Fixtures/UpdateDataCommandTest/PageviewsWithOperatingSystem.php'); $subject = GeneralUtility::makeInstance(UpdateDataCommand::class); $tester = new CommandTester($subject); @@ -82,7 +85,7 @@ class UpdateDataCommandTest extends TestCase */ public function doesNothingIfNoRecordExists(): void { - $this->importDataSet('EXT:tracking/Tests/Functional/Fixtures/Pages.xml'); + $this->importPHPDataSet(__DIR__ . '/../Fixtures/Pages.php'); $subject = GeneralUtility::makeInstance(UpdateDataCommand::class); $tester = new CommandTester($subject); diff --git a/Tests/Functional/Dashboard/Provider/NewestPageviewsTest.php b/Tests/Functional/Dashboard/Provider/NewestPageviewsTest.php index a553899..e88bd72 100644 --- a/Tests/Functional/Dashboard/Provider/NewestPageviewsTest.php +++ b/Tests/Functional/Dashboard/Provider/NewestPageviewsTest.php @@ -24,12 +24,12 @@ namespace DanielSiepmann\Tracking\Tests\Functional\Dashboard\Provider; use DanielSiepmann\Tracking\Dashboard\Provider\NewestPageviews; use TYPO3\CMS\Core\Database\ConnectionPool; use TYPO3\CMS\Core\Utility\GeneralUtility; -use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase as TestCase; +use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase; /** * @covers \DanielSiepmann\Tracking\Dashboard\Provider\NewestPageviews */ -class NewestPageviewsTest extends TestCase +class NewestPageviewsTest extends FunctionalTestCase { protected array $testExtensionsToLoad = [ 'typo3conf/ext/tracking', diff --git a/Tests/Functional/Dashboard/Provider/PageviewsPerDayTest.php b/Tests/Functional/Dashboard/Provider/PageviewsPerDayTest.php index de2d589..2336757 100644 --- a/Tests/Functional/Dashboard/Provider/PageviewsPerDayTest.php +++ b/Tests/Functional/Dashboard/Provider/PageviewsPerDayTest.php @@ -21,17 +21,20 @@ namespace DanielSiepmann\Tracking\Tests\Functional\Dashboard\Provider; * 02110-1301, USA. */ +use Codappix\Typo3PhpDatasets\TestingFramework; use DanielSiepmann\Tracking\Dashboard\Provider\PageviewsPerDay; use TYPO3\CMS\Core\Database\ConnectionPool; use TYPO3\CMS\Core\Localization\LanguageServiceFactory; use TYPO3\CMS\Core\Utility\GeneralUtility; -use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase as TestCase; +use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase; /** * @covers \DanielSiepmann\Tracking\Dashboard\Provider\PageviewsPerDay */ -class PageviewsPerDayTest extends TestCase +class PageviewsPerDayTest extends FunctionalTestCase { + use TestingFramework; + protected array $testExtensionsToLoad = [ 'typo3conf/ext/tracking', ]; @@ -75,7 +78,7 @@ class PageviewsPerDayTest extends TestCase */ public function respectedNumberOfDays(): void { - $this->importDataSet('EXT:tracking/Tests/Functional/Fixtures/Pages.xml'); + $this->importPHPDataSet(__DIR__ . '/../../Fixtures/Pages.php'); $connection = $this->getConnectionPool()->getConnectionForTable('tx_tracking_pageview'); for ($i = 1; $i <= 10; $i++) { $connection->insert('tx_tracking_pageview', [ @@ -104,7 +107,7 @@ class PageviewsPerDayTest extends TestCase */ public function respectedExcludedPages(): void { - $this->importDataSet('EXT:tracking/Tests/Functional/Fixtures/Pages.xml'); + $this->importPHPDataSet(__DIR__ . '/../../Fixtures/Pages.php'); $connection = $this->getConnectionPool()->getConnectionForTable('tx_tracking_pageview'); for ($i = 1; $i <= 10; $i++) { $connection->insert('tx_tracking_pageview', [ @@ -134,7 +137,7 @@ class PageviewsPerDayTest extends TestCase */ public function respectedDateFormat(): void { - $this->importDataSet('EXT:tracking/Tests/Functional/Fixtures/Pages.xml'); + $this->importPHPDataSet(__DIR__ . '/../../Fixtures/Pages.php'); $connection = $this->getConnectionPool()->getConnectionForTable('tx_tracking_pageview'); $subject = new PageviewsPerDay( diff --git a/Tests/Functional/Dashboard/Provider/PageviewsPerOperatingSystemTest.php b/Tests/Functional/Dashboard/Provider/PageviewsPerOperatingSystemTest.php index 40f90d4..334ba9f 100644 --- a/Tests/Functional/Dashboard/Provider/PageviewsPerOperatingSystemTest.php +++ b/Tests/Functional/Dashboard/Provider/PageviewsPerOperatingSystemTest.php @@ -21,16 +21,19 @@ namespace DanielSiepmann\Tracking\Tests\Functional\Dashboard\Provider; * 02110-1301, USA. */ +use Codappix\Typo3PhpDatasets\TestingFramework; use DanielSiepmann\Tracking\Dashboard\Provider\PageviewsPerOperatingSystem; use TYPO3\CMS\Core\Database\ConnectionPool; use TYPO3\CMS\Core\Utility\GeneralUtility; -use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase as TestCase; +use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase; /** * @covers \DanielSiepmann\Tracking\Dashboard\Provider\PageviewsPerOperatingSystem */ -class PageviewsPerOperatingSystemTest extends TestCase +class PageviewsPerOperatingSystemTest extends FunctionalTestCase { + use TestingFramework; + protected array $testExtensionsToLoad = [ 'typo3conf/ext/tracking', ]; @@ -70,7 +73,7 @@ class PageviewsPerOperatingSystemTest extends TestCase */ public function respectedOrdering(): void { - $this->importDataSet('EXT:tracking/Tests/Functional/Fixtures/Pages.xml'); + $this->importPHPDataSet(__DIR__ . '/../../Fixtures/Pages.php'); $connection = $this->getConnectionPool()->getConnectionForTable('tx_tracking_pageview'); $connection->insert('tx_tracking_pageview', [ 'pid' => 1, @@ -111,7 +114,7 @@ class PageviewsPerOperatingSystemTest extends TestCase */ public function respectedNumberOfDays(): void { - $this->importDataSet('EXT:tracking/Tests/Functional/Fixtures/Pages.xml'); + $this->importPHPDataSet(__DIR__ . '/../../Fixtures/Pages.php'); $connection = $this->getConnectionPool()->getConnectionForTable('tx_tracking_pageview'); $connection->insert('tx_tracking_pageview', [ 'pid' => 1, @@ -147,7 +150,7 @@ class PageviewsPerOperatingSystemTest extends TestCase */ public function respectedMaxResults(): void { - $this->importDataSet('EXT:tracking/Tests/Functional/Fixtures/Pages.xml'); + $this->importPHPDataSet(__DIR__ . '/../../Fixtures/Pages.php'); $connection = $this->getConnectionPool()->getConnectionForTable('tx_tracking_pageview'); for ($i = 1; $i <= 10; $i++) { $connection->insert('tx_tracking_pageview', [ @@ -178,7 +181,7 @@ class PageviewsPerOperatingSystemTest extends TestCase */ public function respectsLimitToLanguages(): void { - $this->importDataSet('EXT:tracking/Tests/Functional/Fixtures/Pages.xml'); + $this->importPHPDataSet(__DIR__ . '/../../Fixtures/Pages.php'); $connection = $this->getConnectionPool()->getConnectionForTable('tx_tracking_pageview'); for ($i = 1; $i <= 10; $i++) { $connection->insert('tx_tracking_pageview', [ diff --git a/Tests/Functional/Dashboard/Provider/PageviewsPerPageTest.php b/Tests/Functional/Dashboard/Provider/PageviewsPerPageTest.php index 0aa45a6..b1f44fb 100644 --- a/Tests/Functional/Dashboard/Provider/PageviewsPerPageTest.php +++ b/Tests/Functional/Dashboard/Provider/PageviewsPerPageTest.php @@ -21,18 +21,21 @@ namespace DanielSiepmann\Tracking\Tests\Functional\Dashboard\Provider; * 02110-1301, USA. */ +use Codappix\Typo3PhpDatasets\TestingFramework; use DanielSiepmann\Tracking\Dashboard\Provider\PageviewsPerPage; use TYPO3\CMS\Core\Database\ConnectionPool; use TYPO3\CMS\Core\Domain\Repository\PageRepository; use TYPO3\CMS\Core\Localization\LanguageServiceFactory; use TYPO3\CMS\Core\Utility\GeneralUtility; -use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase as TestCase; +use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase; /** * @covers \DanielSiepmann\Tracking\Dashboard\Provider\PageviewsPerPage */ -class PageviewsPerPageTest extends TestCase +class PageviewsPerPageTest extends FunctionalTestCase { + use TestingFramework; + protected array $testExtensionsToLoad = [ 'typo3conf/ext/tracking', ]; @@ -54,7 +57,7 @@ class PageviewsPerPageTest extends TestCase */ public function listsSixResultsForLast31DaysByDefault(): void { - $this->importDataSet('EXT:tracking/Tests/Functional/Fixtures/Pages.xml'); + $this->importPHPDataSet(__DIR__ . '/../../Fixtures/Pages.php'); $connection = $this->getConnectionPool()->getConnectionForTable('tx_tracking_pageview'); for ($i = 1; $i <= 10; $i++) { $connection->insert('tx_tracking_pageview', [ @@ -85,7 +88,7 @@ class PageviewsPerPageTest extends TestCase */ public function respectedOrdering(): void { - $this->importDataSet('EXT:tracking/Tests/Functional/Fixtures/Pages.xml'); + $this->importPHPDataSet(__DIR__ . '/../../Fixtures/Pages.php'); $connection = $this->getConnectionPool()->getConnectionForTable('tx_tracking_pageview'); $connection->insert('tx_tracking_pageview', [ 'pid' => 1, @@ -123,7 +126,7 @@ class PageviewsPerPageTest extends TestCase */ public function respectedNumberOfDays(): void { - $this->importDataSet('EXT:tracking/Tests/Functional/Fixtures/Pages.xml'); + $this->importPHPDataSet(__DIR__ . '/../../Fixtures/Pages.php'); $connection = $this->getConnectionPool()->getConnectionForTable('tx_tracking_pageview'); $connection->insert('tx_tracking_pageview', [ 'pid' => 1, @@ -157,7 +160,7 @@ class PageviewsPerPageTest extends TestCase */ public function respectedMaxResults(): void { - $this->importDataSet('EXT:tracking/Tests/Functional/Fixtures/Pages.xml'); + $this->importPHPDataSet(__DIR__ . '/../../Fixtures/Pages.php'); $connection = $this->getConnectionPool()->getConnectionForTable('tx_tracking_pageview'); for ($i = 1; $i <= 10; $i++) { $connection->insert('tx_tracking_pageview', [ @@ -188,7 +191,7 @@ class PageviewsPerPageTest extends TestCase */ public function respectedExcludedPages(): void { - $this->importDataSet('EXT:tracking/Tests/Functional/Fixtures/Pages.xml'); + $this->importPHPDataSet(__DIR__ . '/../../Fixtures/Pages.php'); $connection = $this->getConnectionPool()->getConnectionForTable('tx_tracking_pageview'); for ($i = 1; $i <= 10; $i++) { $connection->insert('tx_tracking_pageview', [ @@ -220,7 +223,7 @@ class PageviewsPerPageTest extends TestCase */ public function localizedRecordTitlesIfLimitedToSingleLanguage(): void { - $this->importDataSet('EXT:tracking/Tests/Functional/Fixtures/Pages.xml'); + $this->importPHPDataSet(__DIR__ . '/../../Fixtures/Pages.php'); $connection = $this->getConnectionPool()->getConnectionForTable('tx_tracking_pageview'); $connection->insert('tx_tracking_pageview', [ 'pid' => 1, @@ -267,7 +270,7 @@ class PageviewsPerPageTest extends TestCase */ public function defaultLanguageTitleIsUsedIfMultipleLanguagesAreAllowed(): void { - $this->importDataSet('EXT:tracking/Tests/Functional/Fixtures/Pages.xml'); + $this->importPHPDataSet(__DIR__ . '/../../Fixtures/Pages.php'); $connection = $this->getConnectionPool()->getConnectionForTable('tx_tracking_pageview'); $connection->insert('tx_tracking_pageview', [ 'pid' => 1, diff --git a/Tests/Functional/Dashboard/Provider/RecordviewsTest.php b/Tests/Functional/Dashboard/Provider/RecordviewsTest.php index 52e2619..1d6b454 100644 --- a/Tests/Functional/Dashboard/Provider/RecordviewsTest.php +++ b/Tests/Functional/Dashboard/Provider/RecordviewsTest.php @@ -21,17 +21,20 @@ namespace DanielSiepmann\Tracking\Tests\Functional\Dashboard\Provider; * 02110-1301, USA. */ +use Codappix\Typo3PhpDatasets\TestingFramework; use DanielSiepmann\Tracking\Dashboard\Provider\Recordviews; use TYPO3\CMS\Core\Domain\Repository\PageRepository; use TYPO3\CMS\Core\Localization\LanguageServiceFactory; use TYPO3\CMS\Core\Utility\GeneralUtility; -use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase as TestCase; +use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase; /** * @covers \DanielSiepmann\Tracking\Dashboard\Provider\Recordviews */ -class RecordviewsTest extends TestCase +class RecordviewsTest extends FunctionalTestCase { + use TestingFramework; + protected array $testExtensionsToLoad = [ 'typo3conf/ext/tracking', ]; @@ -53,7 +56,7 @@ class RecordviewsTest extends TestCase */ public function listsSixResultsForLast31DaysByDefault(): void { - $this->importDataSet('EXT:tracking/Tests/Functional/Fixtures/SysCategories.xml'); + $this->importPHPDataSet(__DIR__ . '/../../Fixtures/SysCategories.php'); $connection = $this->getConnectionPool()->getConnectionForTable('tx_tracking_recordview'); for ($i = 1; $i <= 10; $i++) { $connection->insert('tx_tracking_recordview', [ @@ -86,7 +89,7 @@ class RecordviewsTest extends TestCase */ public function respectedOrdering(): void { - $this->importDataSet('EXT:tracking/Tests/Functional/Fixtures/SysCategories.xml'); + $this->importPHPDataSet(__DIR__ . '/../../Fixtures/SysCategories.php'); $connection = $this->getConnectionPool()->getConnectionForTable('tx_tracking_recordview'); $connection->insert('tx_tracking_recordview', [ 'crdate' => time(), @@ -133,7 +136,7 @@ class RecordviewsTest extends TestCase */ public function respectedNumberOfDays(): void { - $this->importDataSet('EXT:tracking/Tests/Functional/Fixtures/SysCategories.xml'); + $this->importPHPDataSet(__DIR__ . '/../../Fixtures/SysCategories.php'); $connection = $this->getConnectionPool()->getConnectionForTable('tx_tracking_recordview'); $connection->insert('tx_tracking_recordview', [ 'crdate' => strtotime('-3 days'), @@ -173,7 +176,7 @@ class RecordviewsTest extends TestCase */ public function respectedMaxResults(): void { - $this->importDataSet('EXT:tracking/Tests/Functional/Fixtures/SysCategories.xml'); + $this->importPHPDataSet(__DIR__ . '/../../Fixtures/SysCategories.php'); $connection = $this->getConnectionPool()->getConnectionForTable('tx_tracking_recordview'); for ($i = 1; $i <= 10; $i++) { $connection->insert('tx_tracking_recordview', [ @@ -204,7 +207,7 @@ class RecordviewsTest extends TestCase */ public function respectedExcludedPages(): void { - $this->importDataSet('EXT:tracking/Tests/Functional/Fixtures/SysCategories.xml'); + $this->importPHPDataSet(__DIR__ . '/../../Fixtures/SysCategories.php'); $connection = $this->getConnectionPool()->getConnectionForTable('tx_tracking_recordview'); for ($i = 1; $i <= 10; $i++) { $connection->insert('tx_tracking_recordview', [ @@ -240,7 +243,7 @@ class RecordviewsTest extends TestCase */ public function respectLimitesTables(): void { - $this->importDataSet('EXT:tracking/Tests/Functional/Fixtures/SysCategories.xml'); + $this->importPHPDataSet(__DIR__ . '/../../Fixtures/SysCategories.php'); $connection = $this->getConnectionPool()->getConnectionForTable('tx_tracking_recordview'); for ($i = 1; $i <= 3; $i++) { $connection->insert('tx_tracking_recordview', [ @@ -320,7 +323,7 @@ class RecordviewsTest extends TestCase */ public function localizedRecordTitlesIfLimitedToSingleLanguage(): void { - $this->importDataSet('EXT:tracking/Tests/Functional/Fixtures/SysCategories.xml'); + $this->importPHPDataSet(__DIR__ . '/../../Fixtures/SysCategories.php'); $connection = $this->getConnectionPool()->getConnectionForTable('tx_tracking_recordview'); $connection->insert('tx_tracking_recordview', [ 'crdate' => time(), @@ -368,7 +371,7 @@ class RecordviewsTest extends TestCase */ public function defaultLanguageTitleIsUsedIfMultipleLanguagesAreAllowed(): void { - $this->importDataSet('EXT:tracking/Tests/Functional/Fixtures/SysCategories.xml'); + $this->importPHPDataSet(__DIR__ . '/../../Fixtures/SysCategories.php'); $connection = $this->getConnectionPool()->getConnectionForTable('tx_tracking_recordview'); $connection->insert('tx_tracking_recordview', [ 'crdate' => time(), diff --git a/Tests/Functional/Fixtures/BackendUser.php b/Tests/Functional/Fixtures/BackendUser.php new file mode 100644 index 0000000..d5d2a8d --- /dev/null +++ b/Tests/Functional/Fixtures/BackendUser.php @@ -0,0 +1,24 @@ + [ + [ + 'uid' => '1', + 'pid' => '0', + 'tstamp' => '1366642540', + 'username' => 'admin', + 'password' => '$1$tCrlLajZ$C0sikFQQ3SWaFAZ1Me0Z/1', + 'admin' => '1', + 'disable' => '0', + 'starttime' => '0', + 'endtime' => '0', + 'options' => '0', + 'crdate' => '1366642540', + 'workspace_perms' => '1', + 'deleted' => '0', + 'TSconfig' => 'NULL', + 'lastlogin' => '1371033743', + 'workspace_id' => '0', + ], + ], +]; diff --git a/Tests/Functional/Fixtures/BackendUser.xml b/Tests/Functional/Fixtures/BackendUser.xml deleted file mode 100644 index e30cef2..0000000 --- a/Tests/Functional/Fixtures/BackendUser.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - 1 - 0 - 1366642540 - admin - $1$tCrlLajZ$C0sikFQQ3SWaFAZ1Me0Z/1 - 1 - 0 - 0 - 0 - 0 - 1366642540 - 1 - 0 - NULL - 1371033743 - 0 - - diff --git a/Tests/Functional/Fixtures/Pages.php b/Tests/Functional/Fixtures/Pages.php new file mode 100644 index 0000000..cb4860a --- /dev/null +++ b/Tests/Functional/Fixtures/Pages.php @@ -0,0 +1,64 @@ + [ + [ + 'pid' => '0', + 'uid' => '1', + 'title' => 'Page 1', + 'slug' => '/', + ], + [ + 'pid' => '1', + 'uid' => '11', + 'title' => 'Seite 1', + 'l10n_parent' => '1', + 'sys_language_uid' => '1', + ], + [ + 'pid' => '1', + 'uid' => '2', + 'title' => 'Page 2', + ], + [ + 'pid' => '1', + 'uid' => '3', + 'title' => 'Page 3', + ], + [ + 'pid' => '1', + 'uid' => '4', + 'title' => 'Page 4', + ], + [ + 'pid' => '1', + 'uid' => '5', + 'title' => 'Page 5', + ], + [ + 'pid' => '1', + 'uid' => '6', + 'title' => 'Page 6', + ], + [ + 'pid' => '1', + 'uid' => '7', + 'title' => 'Page 7', + ], + [ + 'pid' => '1', + 'uid' => '8', + 'title' => 'Page 8', + ], + [ + 'pid' => '1', + 'uid' => '9', + 'title' => 'Page 9', + ], + [ + 'pid' => '1', + 'uid' => '10', + 'title' => 'Page 10', + ], + ], +]; diff --git a/Tests/Functional/Fixtures/Pages.xml b/Tests/Functional/Fixtures/Pages.xml deleted file mode 100644 index 20d3076..0000000 --- a/Tests/Functional/Fixtures/Pages.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - 0 - 1 - Page 1 - / - - - 1 - 11 - Seite 1 - 1 - 1 - - - 1 - 2 - Page 2 - - - 1 - 3 - Page 3 - - - 1 - 4 - Page 4 - - - 1 - 5 - Page 5 - - - 1 - 6 - Page 6 - - - 1 - 7 - Page 7 - - - 1 - 8 - Page 8 - - - 1 - 9 - Page 9 - - - 1 - 10 - Page 10 - - diff --git a/Tests/Functional/Fixtures/SysCategories.php b/Tests/Functional/Fixtures/SysCategories.php new file mode 100644 index 0000000..d26fd47 --- /dev/null +++ b/Tests/Functional/Fixtures/SysCategories.php @@ -0,0 +1,52 @@ + [ + [ + 'uid' => '1', + 'title' => 'Category 1', + ], + [ + 'uid' => '11', + 'title' => 'Kategorie 1', + 'l10n_parent' => '1', + 'sys_language_uid' => '1', + ], + [ + 'uid' => '2', + 'title' => 'Category 2', + ], + [ + 'uid' => '3', + 'title' => 'Category 3', + ], + [ + 'uid' => '4', + 'title' => 'Category 4', + ], + [ + 'uid' => '5', + 'title' => 'Category 5', + ], + [ + 'uid' => '6', + 'title' => 'Category 6', + ], + [ + 'uid' => '7', + 'title' => 'Category 7', + ], + [ + 'uid' => '8', + 'title' => 'Category 8', + ], + [ + 'uid' => '9', + 'title' => 'Category 9', + ], + [ + 'uid' => '10', + 'title' => 'Category 10', + ], + ], +]; diff --git a/Tests/Functional/Fixtures/SysCategories.xml b/Tests/Functional/Fixtures/SysCategories.xml deleted file mode 100644 index d7eb56a..0000000 --- a/Tests/Functional/Fixtures/SysCategories.xml +++ /dev/null @@ -1,49 +0,0 @@ - - - - 1 - Category 1 - - - 11 - Kategorie 1 - 1 - 1 - - - 2 - Category 2 - - - 3 - Category 3 - - - 4 - Category 4 - - - 5 - Category 5 - - - 6 - Category 6 - - - 7 - Category 7 - - - 8 - Category 8 - - - 9 - Category 9 - - - 10 - Category 10 - - diff --git a/Tests/Functional/Fixtures/Typo3FeaturesTest/PageWithRecords.php b/Tests/Functional/Fixtures/Typo3FeaturesTest/PageWithRecords.php new file mode 100644 index 0000000..7da1030 --- /dev/null +++ b/Tests/Functional/Fixtures/Typo3FeaturesTest/PageWithRecords.php @@ -0,0 +1,26 @@ + [ + [ + 'pid' => '0', + 'uid' => '1', + ], + ], + 'tx_tracking_pageview' => [ + [ + 'pid' => '1', + 'uid' => '1', + 'url' => 'https://example.com/path', + 'user_agent' => 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36', + 'operating_system' => '', + ], + ], + 'tx_tracking_recordview' => [ + [ + 'pid' => '1', + 'uid' => '1', + 'url' => 'https://example.com/path', + ], + ], +]; diff --git a/Tests/Functional/Fixtures/Typo3FeaturesTest/PageWithRecords.xml b/Tests/Functional/Fixtures/Typo3FeaturesTest/PageWithRecords.xml deleted file mode 100644 index 6167f58..0000000 --- a/Tests/Functional/Fixtures/Typo3FeaturesTest/PageWithRecords.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - 0 - 1 - - - - 1 - 1 - https://example.com/path - Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36 - - - - 1 - 1 - https://example.com/path - - diff --git a/Tests/Functional/Fixtures/UpdateDataCommandTest/PageviewsWithMissingOperatingSystem.php b/Tests/Functional/Fixtures/UpdateDataCommandTest/PageviewsWithMissingOperatingSystem.php new file mode 100644 index 0000000..673a034 --- /dev/null +++ b/Tests/Functional/Fixtures/UpdateDataCommandTest/PageviewsWithMissingOperatingSystem.php @@ -0,0 +1,26 @@ + [ + [ + 'pid' => '0', + 'uid' => '1', + ], + ], + 'tx_tracking_pageview' => [ + [ + 'pid' => '1', + 'uid' => '1', + 'url' => 'https://example.com/path', + 'user_agent' => 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36', + 'operating_system' => '', + ], + [ + 'pid' => '1', + 'uid' => '2', + 'url' => 'https://example.com/path', + 'user_agent' => 'Dalvik/2.1.0 (Linux; U; Android 9; ONEPLUS A3003 Build/PKQ1.181203.001)', + 'operating_system' => '', + ], + ], +]; diff --git a/Tests/Functional/Fixtures/UpdateDataCommandTest/PageviewsWithMissingOperatingSystem.xml b/Tests/Functional/Fixtures/UpdateDataCommandTest/PageviewsWithMissingOperatingSystem.xml deleted file mode 100644 index 88a86ea..0000000 --- a/Tests/Functional/Fixtures/UpdateDataCommandTest/PageviewsWithMissingOperatingSystem.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - 0 - 1 - - - - 1 - 1 - https://example.com/path - Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36 - - - - 1 - 2 - https://example.com/path - Dalvik/2.1.0 (Linux; U; Android 9; ONEPLUS A3003 Build/PKQ1.181203.001) - - - diff --git a/Tests/Functional/Fixtures/UpdateDataCommandTest/PageviewsWithOperatingSystem.php b/Tests/Functional/Fixtures/UpdateDataCommandTest/PageviewsWithOperatingSystem.php new file mode 100644 index 0000000..a4160f8 --- /dev/null +++ b/Tests/Functional/Fixtures/UpdateDataCommandTest/PageviewsWithOperatingSystem.php @@ -0,0 +1,26 @@ + [ + [ + 'pid' => '0', + 'uid' => '1', + ], + ], + 'tx_tracking_pageview' => [ + [ + 'pid' => '1', + 'uid' => '1', + 'url' => 'https://example.com/path', + 'user_agent' => 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36', + 'operating_system' => 'Linux', + ], + [ + 'pid' => '1', + 'uid' => '2', + 'url' => 'https://example.com/path', + 'user_agent' => 'Dalvik/2.1.0 (Linux; U; Android 9; ONEPLUS A3003 Build/PKQ1.181203.001)', + 'operating_system' => 'Android', + ], + ], +]; diff --git a/Tests/Functional/Fixtures/UpdateDataCommandTest/PageviewsWithOperatingSystem.xml b/Tests/Functional/Fixtures/UpdateDataCommandTest/PageviewsWithOperatingSystem.xml deleted file mode 100644 index e8cb0ae..0000000 --- a/Tests/Functional/Fixtures/UpdateDataCommandTest/PageviewsWithOperatingSystem.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - 0 - 1 - - - - 1 - 1 - https://example.com/path - Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.116 Safari/537.36 - Linux - - - 1 - 2 - https://example.com/path - Dalvik/2.1.0 (Linux; U; Android 9; ONEPLUS A3003 Build/PKQ1.181203.001) - Android - - diff --git a/Tests/Functional/PageviewTest.php b/Tests/Functional/PageviewTest.php index 789ffca..8149fcb 100644 --- a/Tests/Functional/PageviewTest.php +++ b/Tests/Functional/PageviewTest.php @@ -21,17 +21,20 @@ namespace DanielSiepmann\Tracking\Tests\Functional; * 02110-1301, USA. */ +use Codappix\Typo3PhpDatasets\TestingFramework; use TYPO3\TestingFramework\Core\Functional\Framework\Frontend\InternalRequest; use TYPO3\TestingFramework\Core\Functional\Framework\Frontend\InternalRequestContext; -use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase as TestCase; +use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase; /** * @testdox Pageviews are * * @coversNothing */ -class PageviewTest extends TestCase +class PageviewTest extends FunctionalTestCase { + use TestingFramework; + protected array $testExtensionsToLoad = [ 'typo3conf/ext/tracking', ]; @@ -44,7 +47,7 @@ class PageviewTest extends TestCase { parent::setUp(); - $this->importDataSet('EXT:tracking/Tests/Functional/Fixtures/Pages.xml'); + $this->importPHPDataSet(__DIR__ . '/Fixtures/Pages.php'); $this->setUpFrontendRootPage(1, [ 'EXT:tracking/Tests/Functional/Fixtures/Rendering.typoscript', ]); @@ -77,7 +80,7 @@ class PageviewTest extends TestCase */ public function notTrackedWhenDisallowed(): void { - $this->importDataSet('EXT:tracking/Tests/Functional/Fixtures/BackendUser.xml'); + $this->importPHPDataSet(__DIR__ . '/Fixtures/BackendUser.php'); $this->setUpBackendUser(1); $request = new InternalRequest(); diff --git a/Tests/Functional/RecordviewTest.php b/Tests/Functional/RecordviewTest.php index 0fa271e..619694a 100644 --- a/Tests/Functional/RecordviewTest.php +++ b/Tests/Functional/RecordviewTest.php @@ -21,16 +21,19 @@ namespace DanielSiepmann\Tracking\Tests\Functional; * 02110-1301, USA. */ +use Codappix\Typo3PhpDatasets\TestingFramework; use TYPO3\TestingFramework\Core\Functional\Framework\Frontend\InternalRequest; -use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase as TestCase; +use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase; /** * @testdox Recordviews are * * @coversNothing */ -class RecordviewTest extends TestCase +class RecordviewTest extends FunctionalTestCase { + use TestingFramework; + protected array $testExtensionsToLoad = [ 'typo3conf/ext/tracking', 'typo3conf/ext/tracking/Tests/Functional/Fixtures/Extensions/recordview', @@ -52,7 +55,7 @@ class RecordviewTest extends TestCase { parent::setUp(); - $this->importDataSet('EXT:tracking/Tests/Functional/Fixtures/Pages.xml'); + $this->importPHPDataSet(__DIR__ . '/Fixtures/Pages.php'); $this->setUpFrontendRootPage(1, [ 'EXT:tracking/Tests/Functional/Fixtures/Rendering.typoscript', ]); diff --git a/Tests/Functional/Typo3FeaturesTest.php b/Tests/Functional/Typo3FeaturesTest.php index 80b62fe..3a0fdb4 100644 --- a/Tests/Functional/Typo3FeaturesTest.php +++ b/Tests/Functional/Typo3FeaturesTest.php @@ -21,9 +21,10 @@ namespace DanielSiepmann\Tracking\Tests\Functional; * 02110-1301, USA. */ +use Codappix\Typo3PhpDatasets\TestingFramework; use TYPO3\CMS\Core\DataHandling\DataHandler; use TYPO3\CMS\Core\Localization\LanguageServiceFactory; -use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase as TestCase; +use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase; use UnexpectedValueException; /** @@ -31,8 +32,10 @@ use UnexpectedValueException; * * @testdox This extension works with TYPO3 feature: */ -class Typo3FeaturesTest extends TestCase +class Typo3FeaturesTest extends FunctionalTestCase { + use TestingFramework; + protected array $testExtensionsToLoad = [ 'typo3conf/ext/tracking', ]; @@ -41,8 +44,8 @@ class Typo3FeaturesTest extends TestCase { parent::setUp(); - $this->importDataSet('EXT:tracking/Tests/Functional/Fixtures/BackendUser.xml'); - $this->importDataSet('EXT:tracking/Tests/Functional/Fixtures/Typo3FeaturesTest/PageWithRecords.xml'); + $this->importPHPDataSet(__DIR__ . '/Fixtures/BackendUser.php'); + $this->importPHPDataSet(__DIR__ . '/Fixtures/Typo3FeaturesTest/PageWithRecords.php'); $this->setUpBackendUser(1); $languageServiceFactory = $this->getContainer()->get(LanguageServiceFactory::class); if (!$languageServiceFactory instanceof LanguageServiceFactory) { diff --git a/Tests/Unit/Domain/Model/ExtractorTest.php b/Tests/Unit/Domain/Model/ExtractorTest.php index f267467..99d2439 100644 --- a/Tests/Unit/Domain/Model/ExtractorTest.php +++ b/Tests/Unit/Domain/Model/ExtractorTest.php @@ -24,12 +24,12 @@ namespace DanielSiepmann\Tracking\Tests\Unit\Domain\Model; use DanielSiepmann\Tracking\Domain\Model\Extractor; use DanielSiepmann\Tracking\Domain\Model\HasUserAgent; use Prophecy\PhpUnit\ProphecyTrait; -use TYPO3\TestingFramework\Core\Unit\UnitTestCase as TestCase; +use TYPO3\TestingFramework\Core\Unit\UnitTestCase; /** * @covers \DanielSiepmann\Tracking\Domain\Model\Extractor */ -class ExtractorTest extends TestCase +class ExtractorTest extends UnitTestCase { use ProphecyTrait; diff --git a/Tests/Unit/Domain/Model/PageviewTest.php b/Tests/Unit/Domain/Model/PageviewTest.php index 6e0475e..5392fd2 100644 --- a/Tests/Unit/Domain/Model/PageviewTest.php +++ b/Tests/Unit/Domain/Model/PageviewTest.php @@ -25,12 +25,12 @@ use DanielSiepmann\Tracking\Domain\Model\Pageview; use DateTimeImmutable; use Prophecy\PhpUnit\ProphecyTrait; use TYPO3\CMS\Core\Site\Entity\SiteLanguage; -use TYPO3\TestingFramework\Core\Unit\UnitTestCase as TestCase; +use TYPO3\TestingFramework\Core\Unit\UnitTestCase; /** * @covers \DanielSiepmann\Tracking\Domain\Model\Pageview */ -class PageviewTest extends TestCase +class PageviewTest extends UnitTestCase { use ProphecyTrait; diff --git a/Tests/Unit/Domain/Model/RecordRuleTest.php b/Tests/Unit/Domain/Model/RecordRuleTest.php index 5cf2252..8a9b107 100644 --- a/Tests/Unit/Domain/Model/RecordRuleTest.php +++ b/Tests/Unit/Domain/Model/RecordRuleTest.php @@ -22,12 +22,12 @@ namespace DanielSiepmann\Tracking\Tests\Unit\Domain\Model; */ use DanielSiepmann\Tracking\Domain\Model\RecordRule; -use TYPO3\TestingFramework\Core\Unit\UnitTestCase as TestCase; +use TYPO3\TestingFramework\Core\Unit\UnitTestCase; /** * @covers \DanielSiepmann\Tracking\Domain\Model\RecordRule */ -class RecordRuleTest extends TestCase +class RecordRuleTest extends UnitTestCase { /** * @test diff --git a/Tests/Unit/Domain/Model/RecordviewTest.php b/Tests/Unit/Domain/Model/RecordviewTest.php index a6fcff4..bef5707 100644 --- a/Tests/Unit/Domain/Model/RecordviewTest.php +++ b/Tests/Unit/Domain/Model/RecordviewTest.php @@ -25,12 +25,12 @@ use DanielSiepmann\Tracking\Domain\Model\Recordview; use DateTimeImmutable; use Prophecy\PhpUnit\ProphecyTrait; use TYPO3\CMS\Core\Site\Entity\SiteLanguage; -use TYPO3\TestingFramework\Core\Unit\UnitTestCase as TestCase; +use TYPO3\TestingFramework\Core\Unit\UnitTestCase; /** * @covers \DanielSiepmann\Tracking\Domain\Model\Recordview */ -class RecordviewTest extends TestCase +class RecordviewTest extends UnitTestCase { use ProphecyTrait; diff --git a/Tests/Unit/Domain/Pageview/FactoryTest.php b/Tests/Unit/Domain/Pageview/FactoryTest.php index 92b9489..7edfdb6 100644 --- a/Tests/Unit/Domain/Pageview/FactoryTest.php +++ b/Tests/Unit/Domain/Pageview/FactoryTest.php @@ -30,12 +30,12 @@ use TYPO3\CMS\Core\Routing\PageArguments; use TYPO3\CMS\Core\Site\Entity\Site; use TYPO3\CMS\Core\Site\Entity\SiteLanguage; use TYPO3\CMS\Core\Site\SiteFinder; -use TYPO3\TestingFramework\Core\Unit\UnitTestCase as TestCase; +use TYPO3\TestingFramework\Core\Unit\UnitTestCase; /** * @covers \DanielSiepmann\Tracking\Domain\Pageview\Factory */ -class FactoryTest extends TestCase +class FactoryTest extends UnitTestCase { use ProphecyTrait; diff --git a/Tests/Unit/Domain/Repository/PageviewTest.php b/Tests/Unit/Domain/Repository/PageviewTest.php index e4d2015..2be1d42 100644 --- a/Tests/Unit/Domain/Repository/PageviewTest.php +++ b/Tests/Unit/Domain/Repository/PageviewTest.php @@ -28,12 +28,12 @@ use DateTimeImmutable; use Prophecy\PhpUnit\ProphecyTrait; use TYPO3\CMS\Core\Database\Connection; use TYPO3\CMS\Core\Site\Entity\SiteLanguage; -use TYPO3\TestingFramework\Core\Unit\UnitTestCase as TestCase; +use TYPO3\TestingFramework\Core\Unit\UnitTestCase; /** * @covers \DanielSiepmann\Tracking\Domain\Repository\Pageview */ -class PageviewTest extends TestCase +class PageviewTest extends UnitTestCase { use ProphecyTrait; diff --git a/Tests/Unit/Domain/Repository/RecordviewTest.php b/Tests/Unit/Domain/Repository/RecordviewTest.php index 4b66600..5cac445 100644 --- a/Tests/Unit/Domain/Repository/RecordviewTest.php +++ b/Tests/Unit/Domain/Repository/RecordviewTest.php @@ -27,12 +27,12 @@ use DateTimeImmutable; use Prophecy\PhpUnit\ProphecyTrait; use TYPO3\CMS\Core\Database\Connection; use TYPO3\CMS\Core\Site\Entity\SiteLanguage; -use TYPO3\TestingFramework\Core\Unit\UnitTestCase as TestCase; +use TYPO3\TestingFramework\Core\Unit\UnitTestCase; /** * @covers \DanielSiepmann\Tracking\Domain\Repository\Recordview */ -class RecordviewTest extends TestCase +class RecordviewTest extends UnitTestCase { use ProphecyTrait; diff --git a/composer.json b/composer.json index 2ef89cb..a8b2351 100644 --- a/composer.json +++ b/composer.json @@ -39,6 +39,7 @@ "typo3/cms-dashboard": "^11.5 || ^12.4" }, "require-dev": { + "codappix/typo3-php-datasets": "^1.3", "cweagans/composer-patches": "^1.7", "friendsofphp/php-cs-fixer": "^3.14", "jangregor/phpstan-prophecy": "^1.0",