‪TYPO3CMS  ‪main
TcaColumnsProcessCommonTest.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
20 use PHPUnit\Framework\Attributes\Test;
22 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
23 
24 final class ‪TcaColumnsProcessCommonTest extends UnitTestCase
25 {
26  #[Test]
27  public function ‪addDataRegistersOrigUidColumn(): void
28  {
29  $input = [
30  'recordTypeValue' => 'aType',
31  'columnsToProcess' => [],
32  'processedTca' => [
33  'ctrl' => [
34  'origUid' => 't3_origuid',
35  ],
36  ],
37  ];
38 
39  $expected = $input;
40  $expected['columnsToProcess'] = ['t3_origuid'];
41  self::assertSame($expected, (new ‪TcaColumnsProcessCommon())->addData($input));
42  }
43 
44  #[Test]
45  public function ‪addDataRegistersRecordTypeColumn(): void
46  {
47  $input = [
48  'recordTypeValue' => 'aType',
49  'columnsToProcess' => [],
50  'processedTca' => [
51  'ctrl' => [
52  'type' => 'doktype',
53  ],
54  ],
55  ];
56 
57  $expected = $input;
58  $expected['columnsToProcess'] = ['doktype'];
59  self::assertSame($expected, (new ‪TcaColumnsProcessCommon())->addData($input));
60  }
61 
62  #[Test]
64  {
65  $input = [
66  'recordTypeValue' => 'aType',
67  'columnsToProcess' => [],
68  'processedTca' => [
69  'ctrl' => [
70  'type' => 'relation_field:foreign_type_field',
71  ],
72  ],
73  ];
74 
75  $expected = $input;
76  $expected['columnsToProcess'] = ['relation_field'];
77  self::assertSame($expected, (new ‪TcaColumnsProcessCommon())->addData($input));
78  }
79 
80  #[Test]
82  {
83  $input = [
84  'recordTypeValue' => 'aType',
85  'columnsToProcess' => [],
86  'processedTca' => [
87  'ctrl' => [
88  'languageField' => 'sys_language_uid',
89  ],
90  ],
91  ];
92 
93  $expected = $input;
94  $expected['columnsToProcess'] = ['sys_language_uid'];
95  self::assertSame($expected, (new ‪TcaColumnsProcessCommon())->addData($input));
96  }
97 
98  #[Test]
100  {
101  $input = [
102  'recordTypeValue' => 'aType',
103  'columnsToProcess' => [],
104  'processedTca' => [
105  'ctrl' => [
106  'transOrigPointerField' => 'l10n_parent',
107  ],
108  ],
109  ];
110 
111  $expected = $input;
112  $expected['columnsToProcess'] = ['l10n_parent'];
113  self::assertSame($expected, (new ‪TcaColumnsProcessCommon())->addData($input));
114  }
115 
116  #[Test]
118  {
119  $input = [
120  'recordTypeValue' => 'aType',
121  'columnsToProcess' => [],
122  'processedTca' => [
123  'ctrl' => [
124  'transOrigDiffSourceField' => 'l18n_diffsource',
125  ],
126  ],
127  ];
128 
129  $expected = $input;
130  $expected['columnsToProcess'] = ['l18n_diffsource'];
131  self::assertSame($expected, (new ‪TcaColumnsProcessCommon())->addData($input));
132  }
133 
134  #[Test]
136  {
137  $input = [
138  'recordTypeValue' => 'list',
139  'columnsToProcess' => [],
140  'processedTca' => [
141  'ctrl' => [],
142  'types' => [
143  'list' => [
144  'subtype_value_field' => 'list_type',
145  'subtypes_addlist' => [
146  'aType' => 'aField',
147  ],
148  ],
149  ],
150  ],
151  'databaseRow' => [
152  'list_type' => 'aType',
153  ],
154  ];
155 
156  $expected = $input;
157  $expected['columnsToProcess'] = ['aField'];
158  self::assertSame($expected, (new ‪TcaColumnsProcessCommon())->addData($input));
159  }
160 
161  #[Test]
163  {
164  $input = [
165  'recordTypeValue' => 'aType',
166  'columnsToProcess' => [],
167  'processedTca' => [
168  'ctrl' => [],
169  'types' => [
170  'aType' => [
171  'subtype_value_field' => 'theSubtypeValueField',
172  'subtypes_addlist' => [
173  'theSubtypeValue' => 'aField, bField',
174  ],
175  ],
176  ],
177  ],
178  'databaseRow' => [
179  'theSubtypeValueField' => 'theSubtypeValue',
180  ],
181  ];
182 
183  $expected = $input;
184  $expected['columnsToProcess'] = ['aField', 'bField'];
185  self::assertSame($expected, (new ‪TcaColumnsProcessCommon())->addData($input));
186  }
187 }
‪TYPO3\CMS\Backend\Form\FormDataProvider\TcaColumnsProcessCommon
Definition: TcaColumnsProcessCommon.php:25
‪TYPO3\CMS\Backend\Tests\Unit\Form\FormDataProvider\TcaColumnsProcessCommonTest\addDataRegistersMultipleSubtypesAddlistFields
‪addDataRegistersMultipleSubtypesAddlistFields()
Definition: TcaColumnsProcessCommonTest.php:162
‪TYPO3\CMS\Backend\Tests\Unit\Form\FormDataProvider\TcaColumnsProcessCommonTest\addDataRegistersLanguageFieldColumn
‪addDataRegistersLanguageFieldColumn()
Definition: TcaColumnsProcessCommonTest.php:81
‪TYPO3\CMS\Backend\Tests\Unit\Form\FormDataProvider\TcaColumnsProcessCommonTest\addDataRegistersRecordTypeRelationColumn
‪addDataRegistersRecordTypeRelationColumn()
Definition: TcaColumnsProcessCommonTest.php:63
‪TYPO3\CMS\Backend\Tests\Unit\Form\FormDataProvider\TcaColumnsProcessCommonTest\addDataRegistersSingleSubtypesAddlistFields
‪addDataRegistersSingleSubtypesAddlistFields()
Definition: TcaColumnsProcessCommonTest.php:135
‪TYPO3\CMS\Backend\Tests\Unit\Form\FormDataProvider\TcaColumnsProcessCommonTest\addDataRegistersOrigUidColumn
‪addDataRegistersOrigUidColumn()
Definition: TcaColumnsProcessCommonTest.php:27
‪TYPO3\CMS\Backend\Tests\Unit\Form\FormDataProvider\TcaColumnsProcessCommonTest\addDataRegistersRecordTypeColumn
‪addDataRegistersRecordTypeColumn()
Definition: TcaColumnsProcessCommonTest.php:45
‪TYPO3\CMS\Backend\Tests\Unit\Form\FormDataProvider\TcaColumnsProcessCommonTest\addDataRegistersTransOrigPointerColumn
‪addDataRegistersTransOrigPointerColumn()
Definition: TcaColumnsProcessCommonTest.php:99
‪TYPO3\CMS\Backend\Tests\Unit\Form\FormDataProvider\TcaColumnsProcessCommonTest\addDataRegistersTransOrigDiffSourceColumn
‪addDataRegistersTransOrigDiffSourceColumn()
Definition: TcaColumnsProcessCommonTest.php:117
‪TYPO3\CMS\Backend\Tests\Unit\Form\FormDataProvider
Definition: DatabaseDefaultLanguagePageRowTest.php:18
‪TYPO3\CMS\Backend\Tests\Unit\Form\FormDataProvider\TcaColumnsProcessCommonTest
Definition: TcaColumnsProcessCommonTest.php:25