c3fb84e8e3fb4d2d1bfdbe53d4bfb2eec986d285
[Packages/TYPO3.CMS.git] / typo3 / sysext / impexp / Tests / Functional / Import / PagesAndTtContentWithImagesInFilledDatabaseTest.php
1 <?php
2 namespace TYPO3\CMS\Impexp\Tests\Functional\Import;
3
4 /*
5 * This file is part of the TYPO3 CMS project.
6 *
7 * It is free software; you can redistribute it and/or modify it under
8 * the terms of the GNU General Public License, either version 2
9 * of the License, or any later version.
10 *
11 * For the full copyright and license information, please read the
12 * LICENSE.txt file that was distributed with this source code.
13 *
14 * The TYPO3 project - inspiring people to share!
15 */
16
17 use TYPO3\CMS\Core\Utility\GeneralUtility;
18 use TYPO3\CMS\Impexp\Import;
19 use TYPO3\CMS\Impexp\Tests\Functional\AbstractImportExportTestCase;
20
21 /**
22 * Test case
23 */
24 class PagesAndTtContentWithImagesInFilledDatabaseTest extends AbstractImportExportTestCase
25 {
26 /**
27 * @var array
28 */
29 protected $additionalFoldersToCreate = [
30 '/fileadmin/user_upload'
31 ];
32
33 /**
34 * @var array
35 * @todo Substitute with $pathsToProvideInTestInstance once it's available
36 * @todo https://github.com/TYPO3/testing-framework/pull/43
37 */
38 protected $pathsToLinkInTestInstance = [
39 'typo3/sysext/impexp/Tests/Functional/Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg' => 'fileadmin/user_upload/typo3_image2.jpg',
40 ];
41
42 /**
43 * @test
44 */
45 public function importPagesAndRelatedTtContentWithDifferentImageToExistingData()
46 {
47 $subject = GeneralUtility::makeInstance(Import::class);
48 $subject->init();
49
50 $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/pages.xml');
51 $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/tt_content-with-image.xml');
52 $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_language.xml');
53 $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file.xml');
54 $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file_metadata.xml');
55 $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file_reference.xml');
56 $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file_storage.xml');
57
58 $subject->loadFile(
59 __DIR__ . '/../Fixtures/XmlImports/pages-and-ttcontent-with-existing-different-image.xml',
60 1
61 );
62 $subject->importData(0);
63
64 $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg';
65 $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2_01.jpg';
66
67 $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithDifferentImageToExistingData.csv');
68
69 $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg');
70 $this->assertFileEquals(__DIR__ . '/../Fixtures/FileAssertions/typo3_image2_01.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2_01.jpg');
71 }
72
73 /**
74 * @test
75 */
76 public function importPagesAndRelatedTtContentWithSameImageToExistingData()
77 {
78 $subject = GeneralUtility::makeInstance(Import::class);
79 $subject->init();
80
81 $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/pages.xml');
82 $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/tt_content-with-image.xml');
83 $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_language.xml');
84 $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file.xml');
85 $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file_metadata.xml');
86 $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file_reference.xml');
87 $this->importDataSet(__DIR__ . '/../Fixtures/DatabaseImports/sys_file_storage.xml');
88
89 $subject->loadFile(
90 __DIR__ . '/../Fixtures/XmlImports/pages-and-ttcontent-with-existing-same-image.xml',
91 1
92 );
93 $subject->importData(0);
94
95 $this->testFilesToDelete[] = PATH_site . 'fileadmin/user_upload/typo3_image2.jpg';
96
97 $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importPagesAndRelatedTtContentWithSameImageToExistingData.csv');
98
99 $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image2.jpg', PATH_site . 'fileadmin/user_upload/typo3_image2.jpg');
100 }
101 }