Skip to content

Commit 80cd3b1

Browse files
authored
Reworked LanguageTransformerTest (#1492)
* Reworked LanguageTransformerTest * [PHPStan] regenerated baseline
1 parent 046a1c5 commit 80cd3b1

File tree

2 files changed

+36
-91
lines changed

2 files changed

+36
-91
lines changed

phpstan-baseline.neon

Lines changed: 0 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -15876,66 +15876,6 @@ parameters:
1587615876
count: 1
1587715877
path: tests/lib/Form/DataTransformer/FieldValueTransformerTest.php
1587815878

15879-
-
15880-
message: '#^Method Ibexa\\Tests\\AdminUi\\Form\\DataTransformer\\LanguageTransformerTest\:\:testReverseTransformWithLanguageCode\(\) has no return type specified\.$#'
15881-
identifier: missingType.return
15882-
count: 1
15883-
path: tests/lib/Form/DataTransformer/LanguageTransformerTest.php
15884-
15885-
-
15886-
message: '#^Method Ibexa\\Tests\\AdminUi\\Form\\DataTransformer\\LanguageTransformerTest\:\:testReverseTransformWithNotFoundException\(\) has no return type specified\.$#'
15887-
identifier: missingType.return
15888-
count: 1
15889-
path: tests/lib/Form/DataTransformer/LanguageTransformerTest.php
15890-
15891-
-
15892-
message: '#^Method Ibexa\\Tests\\AdminUi\\Form\\DataTransformer\\LanguageTransformerTest\:\:testReverseTransformWithNull\(\) has no return type specified\.$#'
15893-
identifier: missingType.return
15894-
count: 1
15895-
path: tests/lib/Form/DataTransformer/LanguageTransformerTest.php
15896-
15897-
-
15898-
message: '#^Method Ibexa\\Tests\\AdminUi\\Form\\DataTransformer\\LanguageTransformerTest\:\:testTransform\(\) has no return type specified\.$#'
15899-
identifier: missingType.return
15900-
count: 1
15901-
path: tests/lib/Form/DataTransformer/LanguageTransformerTest.php
15902-
15903-
-
15904-
message: '#^Method Ibexa\\Tests\\AdminUi\\Form\\DataTransformer\\LanguageTransformerTest\:\:testTransform\(\) has parameter \$expected with no type specified\.$#'
15905-
identifier: missingType.parameter
15906-
count: 1
15907-
path: tests/lib/Form/DataTransformer/LanguageTransformerTest.php
15908-
15909-
-
15910-
message: '#^Method Ibexa\\Tests\\AdminUi\\Form\\DataTransformer\\LanguageTransformerTest\:\:testTransform\(\) has parameter \$value with no type specified\.$#'
15911-
identifier: missingType.parameter
15912-
count: 1
15913-
path: tests/lib/Form/DataTransformer/LanguageTransformerTest.php
15914-
15915-
-
15916-
message: '#^Method Ibexa\\Tests\\AdminUi\\Form\\DataTransformer\\LanguageTransformerTest\:\:testTransformWithInvalidInput\(\) has no return type specified\.$#'
15917-
identifier: missingType.return
15918-
count: 1
15919-
path: tests/lib/Form/DataTransformer/LanguageTransformerTest.php
15920-
15921-
-
15922-
message: '#^Method Ibexa\\Tests\\AdminUi\\Form\\DataTransformer\\LanguageTransformerTest\:\:testTransformWithInvalidInput\(\) has parameter \$value with no type specified\.$#'
15923-
identifier: missingType.parameter
15924-
count: 1
15925-
path: tests/lib/Form/DataTransformer/LanguageTransformerTest.php
15926-
15927-
-
15928-
message: '#^Method Ibexa\\Tests\\AdminUi\\Form\\DataTransformer\\LanguageTransformerTest\:\:transformDataProvider\(\) return type has no value type specified in iterable type array\.$#'
15929-
identifier: missingType.iterableValue
15930-
count: 1
15931-
path: tests/lib/Form/DataTransformer/LanguageTransformerTest.php
15932-
15933-
-
15934-
message: '#^Method Ibexa\\Tests\\AdminUi\\Form\\DataTransformer\\LanguageTransformerTest\:\:transformWithInvalidInputDataProvider\(\) return type has no value type specified in iterable type array\.$#'
15935-
identifier: missingType.iterableValue
15936-
count: 1
15937-
path: tests/lib/Form/DataTransformer/LanguageTransformerTest.php
15938-
1593915879
-
1594015880
message: '#^Method Ibexa\\Tests\\AdminUi\\Form\\DataTransformer\\LocationTransformerTest\:\:testReverseTransformWithId\(\) has no return type specified\.$#'
1594115881
identifier: missingType.return

tests/lib/Form/DataTransformer/LanguageTransformerTest.php

Lines changed: 36 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,23 @@
1717

1818
class LanguageTransformerTest extends TestCase
1919
{
20+
/** @var \Ibexa\Contracts\Core\Repository\LanguageService&\PHPUnit\Framework\MockObject\MockObject */
21+
private LanguageService $languageService;
22+
23+
protected function setUp(): void
24+
{
25+
$this->languageService = $this->createMock(LanguageService::class);
26+
}
27+
2028
/**
2129
* @dataProvider transformDataProvider
2230
*
23-
* @param $value
24-
* @param $expected
31+
* @param \Ibexa\Contracts\Core\Repository\Values\Content\Language|null $value
32+
* @param string|null $expected
2533
*/
26-
public function testTransform($value, $expected)
34+
public function testTransform($value, $expected): void
2735
{
28-
/** @var \Ibexa\Contracts\Core\Repository\LanguageService|\PHPUnit\Framework\MockObject\MockObject $languageService */
29-
$languageService = $this->createMock(LanguageService::class);
30-
$transformer = new LanguageTransformer($languageService);
36+
$transformer = new LanguageTransformer($this->languageService);
3137

3238
$result = $transformer->transform($value);
3339

@@ -37,68 +43,67 @@ public function testTransform($value, $expected)
3743
/**
3844
* @dataProvider transformWithInvalidInputDataProvider
3945
*
40-
* @param $value
46+
* @param mixed $value
4147
*/
42-
public function testTransformWithInvalidInput($value)
48+
public function testTransformWithInvalidInput($value): void
4349
{
44-
/** @var \Ibexa\Contracts\Core\Repository\LanguageService|\PHPUnit\Framework\MockObject\MockObject $languageService */
45-
$languageService = $this->createMock(LanguageService::class);
46-
$transformer = new LanguageTransformer($languageService);
50+
$transformer = new LanguageTransformer($this->languageService);
4751

4852
$this->expectException(TransformationFailedException::class);
4953
$this->expectExceptionMessage('Expected a ' . Language::class . ' object.');
5054

55+
/** @phpstan-ignore method.resultUnused */
5156
$transformer->transform($value);
5257
}
5358

54-
public function testReverseTransformWithLanguageCode()
59+
public function testReverseTransformWithLanguageCode(): void
5560
{
56-
/** @var \Ibexa\Contracts\Core\Repository\LanguageService|\PHPUnit\Framework\MockObject\MockObject $languageService */
57-
$languageService = $this->createMock(LanguageService::class);
58-
$languageService->expects(self::once())
61+
$this->languageService
62+
->expects(self::once())
5963
->method('loadLanguage')
6064
->with('eng-GB')
6165
->willReturn(new Language(['languageCode' => 'eng-GB']));
6266

63-
$transformer = new LanguageTransformer($languageService);
67+
$transformer = new LanguageTransformer($this->languageService);
6468

6569
$result = $transformer->reverseTransform('eng-GB');
6670

6771
$this->assertEquals(new Language(['languageCode' => 'eng-GB']), $result);
6872
}
6973

70-
public function testReverseTransformWithNull()
74+
public function testReverseTransformWithNull(): void
7175
{
72-
/** @var \Ibexa\Contracts\Core\Repository\LanguageService|\PHPUnit\Framework\MockObject\MockObject $languageService */
73-
$languageService = $this->createMock(LanguageService::class);
74-
$languageService->expects(self::never())
76+
$this->languageService
77+
->expects(self::never())
7578
->method('loadLanguageById');
7679

77-
$transformer = new LanguageTransformer($languageService);
80+
$transformer = new LanguageTransformer($this->languageService);
7881

7982
$result = $transformer->reverseTransform(null);
8083

8184
$this->assertNull($result);
8285
}
8386

84-
public function testReverseTransformWithNotFoundException()
87+
public function testReverseTransformWithNotFoundException(): void
8588
{
86-
$this->expectException(TransformationFailedException::class);
87-
$this->expectExceptionMessage('Language not found');
88-
89-
/** @var \Ibexa\Contracts\Core\Repository\LanguageService|\PHPUnit\Framework\MockObject\MockObject $languageService */
90-
$languageService = $this->createMock(LanguageService::class);
91-
$languageService->method('loadLanguage')
89+
$this->languageService
90+
->method('loadLanguage')
9291
->will($this->throwException(new class('Language not found') extends NotFoundException {
9392
}));
9493

95-
$transformer = new LanguageTransformer($languageService);
94+
$transformer = new LanguageTransformer($this->languageService);
95+
96+
$this->expectException(TransformationFailedException::class);
97+
$this->expectExceptionMessage('Language not found');
9698

9799
$transformer->reverseTransform('pol-PL');
98100
}
99101

100102
/**
101-
* @return array
103+
* @return array<string, array{
104+
* \Ibexa\Contracts\Core\Repository\Values\Content\Language|null,
105+
* string|null,
106+
* }>
102107
*/
103108
public function transformDataProvider(): array
104109
{
@@ -111,7 +116,7 @@ public function transformDataProvider(): array
111116
}
112117

113118
/**
114-
* @return array
119+
* @return array<string, mixed>
115120
*/
116121
public function transformWithInvalidInputDataProvider(): array
117122
{

0 commit comments

Comments
 (0)