Skip to content

Commit a43e155

Browse files
authored
Fix: Fix translated_slug causes exception (#13)
1 parent 61ca0e1 commit a43e155

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

src/Domain/Value/LinkAlternate.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,13 @@ public function __construct(array $values)
4646
Assert::keyExists($values, 'path');
4747
$this->path = TrimmedNonEmptyString::fromString($values['path'])->toString();
4848

49-
Assert::keyExists($values, 'translated_slug');
50-
$this->slug = TrimmedNonEmptyString::fromString($values['translated_slug'])->toString();
49+
$slug = null;
50+
51+
if (\array_key_exists('translated_slug', $values)) {
52+
$slug = TrimmedNonEmptyString::fromString($values['translated_slug'])->toString();
53+
}
54+
55+
$this->slug = $slug ?? $this->path;
5156

5257
Assert::keyExists($values, 'published');
5358
$this->published = true === $values['published'];

tests/Unit/Domain/Value/LinkAlternateTest.php

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -129,14 +129,15 @@ public function slug(): void
129129
/**
130130
* @test
131131
*/
132-
public function slugKeyMustExist(): void
132+
public function slugKeyHasFallback(): void
133133
{
134-
$values = self::faker()->linkAlternateResponse();
135-
unset($values['translated_slug']);
134+
$values = self::faker()->linkAlternateResponse([
135+
'path' => $path = self::faker()->slug(),
136+
]);
136137

137-
self::expectException(\InvalidArgumentException::class);
138+
unset($values['translated_slug']);
138139

139-
new LinkAlternate($values);
140+
self::assertSame($path, (new LinkAlternate($values))->slug);
140141
}
141142

142143
/**

0 commit comments

Comments
 (0)