‪TYPO3CMS  9.5
GroupFileAndFileReferenceItemTest.php
Go to the documentation of this file.
1 <?php
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 
21 
26 {
30  protected ‪$additionalFoldersToCreate = [
31  '/uploads/tx_impexpgroupfiles'
32  ];
33 
37  protected ‪$testExtensionsToLoad = [
38  'typo3/sysext/impexp/Tests/Functional/Fixtures/Extensions/impexp_group_files'
39  ];
40 
45  {
46  $subject = GeneralUtility::makeInstance(Import::class);
47  $subject->init();
48 
49  $subject->loadFile(
50  __DIR__ . '/../Fixtures/XmlImports/impexp-group-file-and-file_reference-item.xml',
51  1
52  );
53  $subject->importData(0);
54 
55  $this->testFilesToDelete[] = ‪Environment::getPublicPath() . '/fileadmin/user_upload/typo3_image5.jpg';
56  $this->testFilesToDelete[] = ‪Environment::getPublicPath() . '/uploads/tx_impexpgroupfiles/typo3_image4.jpg';
57 
58  $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItem.csv');
59 
60  $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', ‪Environment::getPublicPath() . '/fileadmin/user_upload/typo3_image5.jpg');
61  $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/uploads/tx_impexpgroupfiles/typo3_image4.jpg', ‪Environment::getPublicPath() . '/uploads/tx_impexpgroupfiles/typo3_image4.jpg');
62  }
63 
68  {
69  ‪$GLOBALS['TCA']['tx_impexpgroupfiles_item']['ctrl']['rootLevel'] = 1;
70 
71  $subject = GeneralUtility::makeInstance(Import::class);
72  $subject->init();
73 
74  $subject->loadFile(
75  __DIR__ . '/../Fixtures/XmlImports/impexp-group-file-and-file_reference-item.xml',
76  1
77  );
78  $subject->importData(0);
79 
80  $this->testFilesToDelete[] = ‪Environment::getPublicPath() . '/fileadmin/user_upload/typo3_image5.jpg';
81  $this->testFilesToDelete[] = ‪Environment::getPublicPath() . '/uploads/tx_impexpgroupfiles/typo3_image4.jpg';
82 
83  $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItemWithRootLevelOnlyAllowed.csv');
84 
85  $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', ‪Environment::getPublicPath() . '/fileadmin/user_upload/typo3_image5.jpg');
86  $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/uploads/tx_impexpgroupfiles/typo3_image4.jpg', ‪Environment::getPublicPath() . '/uploads/tx_impexpgroupfiles/typo3_image4.jpg');
87  }
88 
93  {
94  ‪$GLOBALS['TCA']['tx_impexpgroupfiles_item']['ctrl']['rootLevel'] = 0;
95 
96  $subject = GeneralUtility::makeInstance(Import::class);
97  $subject->init();
98 
99  $subject->loadFile(
100  __DIR__ . '/../Fixtures/XmlImports/impexp-group-file-and-file_reference-item-on-pid-zero.xml',
101  1
102  );
103  $subject->importData(0);
104 
105  $this->testFilesToDelete[] = ‪Environment::getPublicPath() . '/fileadmin/user_upload/typo3_image5.jpg';
106 
107  $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItemWithRootLevelNotAllowed.csv');
108 
109  $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', ‪Environment::getPublicPath() . '/fileadmin/user_upload/typo3_image5.jpg');
110  $this->assertFileNotExists(‪Environment::getPublicPath() . '/uploads/tx_impexpgroupfiles/typo3_image4.jpg');
111 
112  $expectedErrors = [
113  'Error: Record type tx_impexpgroupfiles_item is not allowed on pid 0'
114  ];
115  ‪$errors = $subject->errorLog;
116  $this->assertSame($expectedErrors, ‪$errors);
117  }
118 
123  {
124  ‪$GLOBALS['TCA']['tx_impexpgroupfiles_item']['ctrl']['rootLevel'] = -1;
125 
126  $subject = GeneralUtility::makeInstance(Import::class);
127  $subject->init();
128 
129  $subject->loadFile(
130  __DIR__ . '/../Fixtures/XmlImports/impexp-group-file-and-file_reference-item.xml',
131  1
132  );
133  $subject->importData(0);
134 
135  $this->testFilesToDelete[] = ‪Environment::getPublicPath() . '/fileadmin/user_upload/typo3_image5.jpg';
136  $this->testFilesToDelete[] = ‪Environment::getPublicPath() . '/uploads/tx_impexpgroupfiles/typo3_image4.jpg';
137 
138  $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItemWithRootLevelAndPagesAllowed.csv');
139 
140  $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', ‪Environment::getPublicPath() . '/fileadmin/user_upload/typo3_image5.jpg');
141  $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/uploads/tx_impexpgroupfiles/typo3_image4.jpg', ‪Environment::getPublicPath() . '/uploads/tx_impexpgroupfiles/typo3_image4.jpg');
142  }
143 
148  {
149  $subject = GeneralUtility::makeInstance(Import::class);
150  $subject->init();
151 
152  $subject->loadFile(
153  __DIR__ . '/../Fixtures/XmlImports/impexp-group-file-and-file_reference-item.xml',
154  1
155  );
156  $subject->importData(0);
157 
158  $this->testFilesToDelete[] = ‪Environment::getPublicPath() . '/fileadmin/user_upload/typo3_image5.jpg';
159  $this->testFilesToDelete[] = ‪Environment::getPublicPath() . '/uploads/tx_impexpgroupfiles/typo3_image4.jpg';
160 
161  $this->assertCSVDataSet('EXT:impexp/Tests/Functional/Fixtures/DatabaseAssertions/importGroupFileAndFileReferenceItem.csv');
162 
163  $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/fileadmin/user_upload/typo3_image5.jpg', ‪Environment::getPublicPath() . '/fileadmin/user_upload/typo3_image5.jpg');
164  $this->assertFileEquals(__DIR__ . '/../Fixtures/Folders/uploads/tx_impexpgroupfiles/typo3_image4.jpg', ‪Environment::getPublicPath() . '/uploads/tx_impexpgroupfiles/typo3_image4.jpg');
165  }
166 }
‪TYPO3\CMS\Impexp\Tests\Functional\Import\GroupFileAndFileReferenceItemTest\$testExtensionsToLoad
‪array $testExtensionsToLoad
Definition: GroupFileAndFileReferenceItemTest.php:35
‪TYPO3\CMS\Core\Core\Environment\getPublicPath
‪static string getPublicPath()
Definition: Environment.php:153
‪TYPO3\CMS\Impexp\Tests\Functional\Import\GroupFileAndFileReferenceItemTest\importGroupFileAndFileReferenceItemButImagesNotIncluded
‪importGroupFileAndFileReferenceItemButImagesNotIncluded()
Definition: GroupFileAndFileReferenceItemTest.php:145
‪TYPO3\CMS\Impexp\Tests\Functional\Import\GroupFileAndFileReferenceItemTest\$additionalFoldersToCreate
‪array $additionalFoldersToCreate
Definition: GroupFileAndFileReferenceItemTest.php:29
‪TYPO3\CMS\Impexp\Tests\Functional\Import
Definition: GroupFileAndFileReferenceItemInFlexFormTest.php:2
‪TYPO3\CMS\Impexp\Tests\Functional\Import\GroupFileAndFileReferenceItemTest\importGroupFileAndFileReferenceItemWithRootLevelAndPagesAllowed
‪importGroupFileAndFileReferenceItemWithRootLevelAndPagesAllowed()
Definition: GroupFileAndFileReferenceItemTest.php:120
‪TYPO3\CMS\Impexp\Tests\Functional\Import\GroupFileAndFileReferenceItemTest
Definition: GroupFileAndFileReferenceItemTest.php:26
‪TYPO3\CMS\Impexp\Tests\Functional\Import\GroupFileAndFileReferenceItemTest\importGroupFileAndFileReferenceItemWithRootLevelNotAllowed
‪importGroupFileAndFileReferenceItemWithRootLevelNotAllowed()
Definition: GroupFileAndFileReferenceItemTest.php:90
‪TYPO3\CMS\Impexp\Import
Definition: Import.php:40
‪$errors
‪$errors
Definition: annotationChecker.php:115
‪TYPO3\CMS\Impexp\Tests\Functional\Import\GroupFileAndFileReferenceItemTest\importGroupFileAndFileReferenceItemWithRootLevelOnlyAllowed
‪importGroupFileAndFileReferenceItemWithRootLevelOnlyAllowed()
Definition: GroupFileAndFileReferenceItemTest.php:65
‪TYPO3\CMS\Impexp\Tests\Functional\AbstractImportExportTestCase
Definition: AbstractImportExportTestCase.php:30
‪$GLOBALS
‪$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules']
Definition: ext_localconf.php:5
‪TYPO3\CMS\Impexp\Tests\Functional\Import\GroupFileAndFileReferenceItemTest\importGroupFileAndFileReferenceItem
‪importGroupFileAndFileReferenceItem()
Definition: GroupFileAndFileReferenceItemTest.php:42
‪TYPO3\CMS\Core\Core\Environment
Definition: Environment.php:39
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:45