Skip to content

Commit a93ab49

Browse files
committed
[Tests] Added integration test coverage for the use case
1 parent afce143 commit a93ab49

File tree

2 files changed

+128
-0
lines changed

2 files changed

+128
-0
lines changed
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
<?php
2+
3+
/**
4+
* @copyright Copyright (C) Ibexa AS. All rights reserved.
5+
* @license For full copyright and license information view LICENSE file distributed with this source code.
6+
*/
7+
declare(strict_types=1);
8+
9+
namespace Ibexa\Tests\Integration\Core\Repository\ContentService;
10+
11+
use Ibexa\Tests\Integration\Core\RepositoryTestCase;
12+
use Symfony\Component\Yaml\Yaml;
13+
14+
final class MaxLanguagesContentServiceTest extends RepositoryTestCase
15+
{
16+
/** @var list<array{languageCode: string, name: string }> */
17+
private static array $languagesRawList = [];
18+
19+
public static function setUpBeforeClass(): void
20+
{
21+
parent::setUpBeforeClass();
22+
23+
self::$languagesRawList = Yaml::parseFile(dirname(__DIR__) . '/_fixtures/max_languages.yaml');
24+
}
25+
26+
/**
27+
* @throws \Ibexa\Contracts\Core\Repository\Exceptions\InvalidArgumentException
28+
* @throws \Ibexa\Contracts\Core\Repository\Exceptions\UnauthorizedException
29+
*/
30+
protected function setUp(): void
31+
{
32+
parent::setUp();
33+
34+
$this->prepareMaxLanguages();
35+
}
36+
37+
/**
38+
* @throws \Ibexa\Contracts\Core\Repository\Exceptions\Exception
39+
*/
40+
public function testCreateContent(): void
41+
{
42+
$names = array_merge(...array_map(
43+
static fn (array $languageData): array => [
44+
$languageData['languageCode'] => $languageData['name'] . ' name',
45+
],
46+
self::$languagesRawList
47+
));
48+
$this->createFolder($names);
49+
}
50+
51+
/**
52+
* @throws \Ibexa\Contracts\Core\Repository\Exceptions\InvalidArgumentException
53+
* @throws \Ibexa\Contracts\Core\Repository\Exceptions\UnauthorizedException
54+
*/
55+
private function prepareMaxLanguages(): void
56+
{
57+
$languageService = self::getLanguageService();
58+
59+
foreach (self::$languagesRawList as $languageData) {
60+
$languageCreateStruct = $languageService->newLanguageCreateStruct();
61+
$languageCreateStruct->languageCode = $languageData['languageCode'];
62+
$languageCreateStruct->name = $languageData['name'];
63+
$languageService->createLanguage($languageCreateStruct);
64+
}
65+
}
66+
}
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
- { languageCode: alb-SQ, name: Albanian }
2+
- { languageCode: ara-AR, name: Arabic }
3+
- { languageCode: aze-AZ, name: Azerbaijani }
4+
- { languageCode: bos-BS, name: Bosnian }
5+
- { languageCode: cha-CH, name: Chamorro }
6+
- { languageCode: chi-ZH, name: Chinese }
7+
- { languageCode: cze-CS, name: Czech }
8+
- { languageCode: dan-DA, name: Danish }
9+
- { languageCode: dut-NL, name: Dutch (Flemish) }
10+
#- { languageCode: eng-GB, name: English (United Kingdom) } # Pre-exists in the initial db fixture
11+
#- { languageCode: eng-US, name: English (United States) } # Pre-exists in the initial db fixture
12+
- { languageCode: eng-AU, name: English (Australia) }
13+
- { languageCode: epo-EO, name: Esperanto }
14+
- { languageCode: esp-ES, name: Spanish }
15+
- { languageCode: esp-MX, name: Spanish (Mexico) }
16+
- { languageCode: est-ET, name: Estonian }
17+
- { languageCode: fas-FA, name: Persian (Farsi) }
18+
- { languageCode: fin-FI, name: Finnish }
19+
- { languageCode: fre-FR, name: French (France) }
20+
- { languageCode: fre-BE, name: French (Belgium) }
21+
- { languageCode: fre-CA, name: French (Canada) }
22+
- { languageCode: fre-CH, name: French (Switzerland) }
23+
- { languageCode: fre-LU, name: French (Luxembourg) }
24+
- { languageCode: geo-KA, name: Georgian }
25+
#- { languageCode: ger-DE, name: German (Germany) } # Pre-exists in the initial db fixture
26+
- { languageCode: ger-AT, name: German (Austria) }
27+
- { languageCode: ger-CH, name: German (Switzerland) }
28+
- { languageCode: ger-LI, name: German (Liechtenstein) }
29+
- { languageCode: ger-LU, name: German (Luxembourg) }
30+
- { languageCode: gle-GA, name: Irish }
31+
- { languageCode: gla-GD, name: Scottish (Gaelic) }
32+
- { languageCode: gre-EL, name: Greek }
33+
- { languageCode: hin-HI, name: Hebrew }
34+
- { languageCode: heb-HE, name: Hebrew }
35+
- { languageCode: hrv-HR, name: Croatian }
36+
- { languageCode: hun-HU, name: Hungarian }
37+
- { languageCode: ind-ID, name: Indonesian }
38+
- { languageCode: isl-IS, name: Icelandic }
39+
- { languageCode: ita-IT, name: Italian }
40+
- { languageCode: jpn-JA, name: Japanese }
41+
- { languageCode: kor-KO, name: Korean }
42+
- { languageCode: lat-LA, name: Latin }
43+
- { languageCode: lav-LV, name: Latvian }
44+
- { languageCode: lit-LT, name: Lithuanian }
45+
- { languageCode: mao-MI, name: Maori (New Zealand) }
46+
- { languageCode: may-MS, name: Malay }
47+
- { languageCode: nor-NO, name: Norwegian }
48+
- { languageCode: pol-PL, name: Polish }
49+
- { languageCode: por-PT, name: Portuguese (Portugal) }
50+
- { languageCode: por-BR, name: Portuguese (Brazil) }
51+
- { languageCode: rum-RO, name: Romanian }
52+
- { languageCode: slo-SK, name: Slovak }
53+
- { languageCode: swe-SV, name: Swedish }
54+
- { languageCode: bul-BG, name: Bulgarian }
55+
- { languageCode: swa-SW, name: Swahili (Swahili) }
56+
- { languageCode: tha-TH, name: Thai }
57+
- { languageCode: tib-BO, name: Tibetan }
58+
- { languageCode: tlh-TL, name: Klingon }
59+
- { languageCode: tur-TR, name: Turkish }
60+
- { languageCode: ukr-UK, name: Ukrainian }
61+
- { languageCode: wel-CY, name: Welsh (Swahili) }
62+
- { languageCode: yid-YI, name: Yiddish }

0 commit comments

Comments
 (0)