‪TYPO3CMS  ‪main
MigrateSiteSettingsConfigUpdateTest.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 
24 use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
25 
26 final class ‪MigrateSiteSettingsConfigUpdateTest extends FunctionalTestCase
27 {
31  public function ‪upgradeSettingsUpdateWithSettings(): void
32  {
33  $siteconfigurationIdentifier = 'settings';
34 
35  GeneralUtility::makeInstance(SiteConfiguration::class)->write(
36  $siteconfigurationIdentifier,
37  [
38  'rootPageId' => 1,
39  'base' => 'www.test.org',
40  'languages' => [
41  0 => [
42  'title' => 'English',
43  'enabled' => true,
44  'languageId' => 0,
45  'base' => '/',
46  'locale' => 'en_US.UTF-8',
47  'navigationTitle' => 'English',
48  'flag' => 'us',
49  ],
50  ],
51  'settings' => [
52  'debug' => 1,
53  'test' => true,
54  ],
55  'errorHandling' => [],
56  'routes' => [],
57  ]
58  );
59 
60  $subject = new ‪MigrateSiteSettingsConfigUpdate();
61  $subject->executeUpdate();
62  self::assertFileExists($this->‪getSettingsFilePath($siteconfigurationIdentifier));
63  }
64 
69  {
70  $siteconfigurationIdentifier = 'withoutSettings';
71 
72  GeneralUtility::makeInstance(SiteConfiguration::class)->write(
73  $siteconfigurationIdentifier,
74  [
75  'rootPageId' => 2,
76  'base' => 'www.testTwo.org',
77  'languages' => [
78  0 => [
79  'title' => 'English',
80  'enabled' => true,
81  'languageId' => 0,
82  'base' => '/',
83  'locale' => 'en_US.UTF-8',
84  'navigationTitle' => 'English',
85  'flag' => 'us',
86  ],
87  ],
88  'errorHandling' => [],
89  'routes' => [],
90  ]
91  );
92 
93  $subject = new ‪MigrateSiteSettingsConfigUpdate();
94  $subject->executeUpdate();
95  self::assertFileDoesNotExist($this->‪getSettingsFilePath($siteconfigurationIdentifier));
96  }
97 
98  protected function ‪getSettingsFilePath(string ‪$identifier): string
99  {
100  return ‪Environment::getConfigPath() . '/sites/' . ‪$identifier . '/settings.yaml';
101  }
102 }
‪TYPO3\CMS\Install\Updates\MigrateSiteSettingsConfigUpdate
Definition: MigrateSiteSettingsConfigUpdate.php:33
‪TYPO3\CMS\Install\Tests\Functional\Updates\MigrateSiteSettingsConfigUpdateTest\upgradeSettingsUpdateWithoutSettings
‪upgradeSettingsUpdateWithoutSettings()
Definition: MigrateSiteSettingsConfigUpdateTest.php:68
‪TYPO3\CMS\Core\Configuration\SiteConfiguration
Definition: SiteConfiguration.php:47
‪TYPO3\CMS\Core\Core\Environment\getConfigPath
‪static getConfigPath()
Definition: Environment.php:212
‪TYPO3\CMS\Install\Tests\Functional\Updates\MigrateSiteSettingsConfigUpdateTest
Definition: MigrateSiteSettingsConfigUpdateTest.php:27
‪TYPO3\CMS\Install\Tests\Functional\Updates\MigrateSiteSettingsConfigUpdateTest\getSettingsFilePath
‪getSettingsFilePath(string $identifier)
Definition: MigrateSiteSettingsConfigUpdateTest.php:98
‪TYPO3\CMS\Core\Core\Environment
Definition: Environment.php:41
‪TYPO3\CMS\Install\Tests\Functional\Updates
Definition: BackendGroupsExplicitAllowDenyMigrationTest.php:18
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:51
‪TYPO3\CMS\Webhooks\Message\$identifier
‪identifier readonly string $identifier
Definition: FileAddedMessage.php:37
‪TYPO3\CMS\Install\Tests\Functional\Updates\MigrateSiteSettingsConfigUpdateTest\upgradeSettingsUpdateWithSettings
‪upgradeSettingsUpdateWithSettings()
Definition: MigrateSiteSettingsConfigUpdateTest.php:31