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