92b45ba14ba43f128586d81c87b76fbd8dcdb372
[Packages/TYPO3.CMS.git] / typo3 / sysext / core / Tests / Functional / Tca / FileCollectionVisibleFieldsTest.php
1 <?php
2 namespace TYPO3\CMS\Core\Tests\Unit\Tca;
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\Backend\Tests\Functional\Form\FormTestService;
18 use TYPO3\CMS\Core\Utility\GeneralUtility;
19 use TYPO3\CMS\Lang\LanguageService;
20
21 class FileCollectionVisibleFieldsTest extends \TYPO3\Components\TestingFramework\Core\FunctionalTestCase
22 {
23 protected static $fileCollectionFields = [
24 'title',
25 'sys_language_uid',
26 'type',
27 'starttime',
28 'endtime',
29 ];
30
31 protected static $fileCollectionTypeFields = [
32 '0' => ['files'],
33 'category' => ['category'],
34 'folder' => [
35 'storage',
36 'folder',
37 'recursive',
38 ],
39 'static' => ['files'],
40 ];
41
42 /**
43 * @test
44 */
45 public function fileCollectionFormContainsExpectedFields()
46 {
47 $this->setUpBackendUserFromFixture(1);
48 $GLOBALS['LANG'] = GeneralUtility::makeInstance(LanguageService::class);
49
50 $formEngineTestService = GeneralUtility::makeInstance(FormTestService::class);
51
52 foreach (static::$fileCollectionTypeFields as $type => $additionalFields) {
53 $formResult = $formEngineTestService->createNewRecordForm('sys_file_collection', ['type' => $type]);
54 $expectedFields = array_merge(static::$fileCollectionFields, $additionalFields);
55 foreach ($expectedFields as $expectedField) {
56 $this->assertNotFalse(
57 $formEngineTestService->formHtmlContainsField($expectedField, $formResult['html']),
58 'The field ' . $expectedField . ' is not in the form HTML'
59 );
60 }
61 }
62 }
63 }