‪TYPO3CMS  11.5
ValuePickerItemDataProviderTest.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 Prophecy\PhpUnit\ProphecyTrait;
24 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
25 
26 class ‪ValuePickerItemDataProviderTest extends UnitTestCase
27 {
28  use ProphecyTrait;
29 
30  protected array ‪$sysRedirectResultSet = [
31  'tableName' => 'sys_redirect',
32  'processedTca' => [
33  'columns' => [
34  'source_host' => [
35  'config' => [
36  'valuePicker' => [
37  'items' => [],
38  ],
39  ],
40  ],
41  ],
42  ],
43  ];
44 
48  public function ‪addDataDoesNothingIfNoRedirectDataGiven(): void
49  {
50  $result = [
51  'tableName' => 'tt_content',
52  ];
53 
54  $siteFinderProphecy = $this->prophesize(SiteFinder::class);
55  $siteFinderProphecy->getAllSites()->willReturn([]);
56  $valuePickerItemDataProvider = new ‪ValuePickerItemDataProvider($siteFinderProphecy->reveal());
57  $actualResult = $valuePickerItemDataProvider->addData($result);
58  self::assertSame($result, $actualResult);
59  }
60 
65  {
66  // no results for now
67  $siteFinderProphecy = $this->prophesize(SiteFinder::class);
68  $siteFinderProphecy->getAllSites()->willReturn([
69  new ‪Site('bar', 13, ['base' => 'bar.test']),
70  new ‪Site('foo', 14, ['base' => 'foo.test']),
71  ]);
72  $valuePickerItemDataProvider = new ‪ValuePickerItemDataProvider($siteFinderProphecy->reveal());
73  $actualResult = $valuePickerItemDataProvider->addData($this->sysRedirectResultSet);
75  $expected['processedTca']['columns']['source_host']['config']['valuePicker']['items'] = [
76  ['bar.test', 'bar.test'],
77  ['foo.test', 'foo.test'],
78  ];
79  self::assertSame($expected, $actualResult);
80  }
81 
86  {
87  $siteFinderProphecy = $this->prophesize(SiteFinder::class);
88  $siteFinderProphecy->getAllSites()->willReturn([]);
89  $valuePickerItemDataProvider = new ValuePickerItemDataProvider($siteFinderProphecy->reveal());
90  $actualResult = $valuePickerItemDataProvider->addData($this->sysRedirectResultSet);
91 
92  self::assertSame($this->sysRedirectResultSet, $actualResult);
93  }
94 }
‪TYPO3\CMS\Redirects\Tests\Unit\FormDataProvider\ValuePickerItemDataProviderTest\addDataDoesNotChangeResultSetIfNoSitesAreFound
‪addDataDoesNotChangeResultSetIfNoSitesAreFound()
Definition: ValuePickerItemDataProviderTest.php:84
‪TYPO3\CMS\Redirects\Tests\Unit\FormDataProvider
Definition: ValuePickerItemDataProviderTest.php:18
‪TYPO3\CMS\Core\Site\SiteFinder
Definition: SiteFinder.php:31
‪TYPO3\CMS\Core\Site\Entity\Site
Definition: Site.php:42
‪TYPO3\CMS\Redirects\Tests\Unit\FormDataProvider\ValuePickerItemDataProviderTest\addDataDoesNothingIfNoRedirectDataGiven
‪addDataDoesNothingIfNoRedirectDataGiven()
Definition: ValuePickerItemDataProviderTest.php:47
‪TYPO3\CMS\Redirects\Tests\Unit\FormDataProvider\ValuePickerItemDataProviderTest\addDataAddsHostsAsKeyAndValueToRedirectValuePicker
‪addDataAddsHostsAsKeyAndValueToRedirectValuePicker()
Definition: ValuePickerItemDataProviderTest.php:63
‪TYPO3\CMS\Redirects\FormDataProvider\ValuePickerItemDataProvider
Definition: ValuePickerItemDataProvider.php:29
‪TYPO3\CMS\Redirects\Tests\Unit\FormDataProvider\ValuePickerItemDataProviderTest\$sysRedirectResultSet
‪array $sysRedirectResultSet
Definition: ValuePickerItemDataProviderTest.php:29
‪TYPO3\CMS\Redirects\Tests\Unit\FormDataProvider\ValuePickerItemDataProviderTest
Definition: ValuePickerItemDataProviderTest.php:27