diff --git a/psalm-baseline.xml b/psalm-baseline.xml
index ff3bb553..c7efd965 100644
--- a/psalm-baseline.xml
+++ b/psalm-baseline.xml
@@ -109,4 +109,9 @@
$faker->fileExtension()
+
+
+ $faker->fileExtension()
+
+
diff --git a/src/Outside/Adapter/Secondary/DayOne/JournalReader.php b/src/Outside/Adapter/Secondary/DayOne/JournalReader.php
index f88da38b..236118f9 100644
--- a/src/Outside/Adapter/Secondary/DayOne/JournalReader.php
+++ b/src/Outside/Adapter/Secondary/DayOne/JournalReader.php
@@ -81,11 +81,10 @@ public function read(Inside\Domain\Shared\FilePath $filePath): Inside\Domain\Day
'%s/photos',
$filePath->directory()->toString(),
)),
- Inside\Domain\Shared\FileName::fromString(\sprintf(
- '%s.%s',
- $photo['md5'],
- $photo['type'],
- )),
+ Inside\Domain\Shared\FileName::create(
+ Inside\Domain\Shared\BaseName::fromString($photo['md5']),
+ Inside\Domain\Shared\Extension::fromString($photo['type']),
+ ),
),
);
}, $entry['photos']);
diff --git a/test/Unit/Inside/Domain/DayOne/EntryTest.php b/test/Unit/Inside/Domain/DayOne/EntryTest.php
index d7a5b288..d121d206 100644
--- a/test/Unit/Inside/Domain/DayOne/EntryTest.php
+++ b/test/Unit/Inside/Domain/DayOne/EntryTest.php
@@ -53,11 +53,10 @@ public function testCreateReturnsEntry(): void
Inside\Domain\DayOne\PhotoIdentifier::fromString($faker->sha1()),
Inside\Domain\Shared\FilePath::create(
Inside\Domain\Shared\Directory::fromString($faker->slug()),
- Inside\Domain\Shared\FileName::fromString(\sprintf(
- '%s.%s',
- $faker->slug(),
- $faker->fileExtension(),
- )),
+ Inside\Domain\Shared\FileName::create(
+ Inside\Domain\Shared\BaseName::fromString($faker->slug()),
+ Inside\Domain\Shared\Extension::fromString($faker->fileExtension()),
+ ),
),
);
}, \range(0, 2));
diff --git a/test/Unit/Inside/Domain/DayOne/JournalTest.php b/test/Unit/Inside/Domain/DayOne/JournalTest.php
index fb5a291e..e2a7ab73 100644
--- a/test/Unit/Inside/Domain/DayOne/JournalTest.php
+++ b/test/Unit/Inside/Domain/DayOne/JournalTest.php
@@ -45,11 +45,10 @@ public function testCreateReturnsJournal(): void
$filePath = Inside\Domain\Shared\FilePath::create(
Inside\Domain\Shared\Directory::fromString($faker->slug()),
- Inside\Domain\Shared\FileName::fromString(\sprintf(
- '%s.%s',
- $faker->slug(),
- $faker->fileExtension(),
- )),
+ Inside\Domain\Shared\FileName::create(
+ Inside\Domain\Shared\BaseName::fromString($faker->slug()),
+ Inside\Domain\Shared\Extension::fromString($faker->fileExtension()),
+ ),
);
$entries = \array_map(static function () use ($faker): Inside\Domain\DayOne\Entry {
@@ -65,11 +64,10 @@ public function testCreateReturnsJournal(): void
Inside\Domain\DayOne\PhotoIdentifier::fromString($faker->sha1()),
Inside\Domain\Shared\FilePath::create(
Inside\Domain\Shared\Directory::fromString($faker->slug()),
- Inside\Domain\Shared\FileName::fromString(\sprintf(
- '%s.%s',
- $faker->slug(),
- $faker->fileExtension(),
- )),
+ Inside\Domain\Shared\FileName::create(
+ Inside\Domain\Shared\BaseName::fromString($faker->slug()),
+ Inside\Domain\Shared\Extension::fromString($faker->fileExtension()),
+ ),
),
);
}, \range(0, 2)),
diff --git a/test/Unit/Inside/Domain/DayOne/PhotoTest.php b/test/Unit/Inside/Domain/DayOne/PhotoTest.php
index 9a11a988..49289aa6 100644
--- a/test/Unit/Inside/Domain/DayOne/PhotoTest.php
+++ b/test/Unit/Inside/Domain/DayOne/PhotoTest.php
@@ -41,11 +41,10 @@ public function testCreateReturnsPhoto(): void
$identifier = Inside\Domain\DayOne\PhotoIdentifier::fromString($faker->sha1());
$filePath = Inside\Domain\Shared\FilePath::create(
Inside\Domain\Shared\Directory::fromString($faker->slug()),
- Inside\Domain\Shared\FileName::fromString(\sprintf(
- '%s.%s',
- $faker->slug(),
- $faker->fileExtension(),
- )),
+ Inside\Domain\Shared\FileName::create(
+ Inside\Domain\Shared\BaseName::fromString($faker->slug()),
+ Inside\Domain\Shared\Extension::fromString($faker->fileExtension()),
+ ),
);
$photo = Inside\Domain\DayOne\Photo::create(
diff --git a/test/Unit/Inside/Domain/Obsidian/AttachmentTest.php b/test/Unit/Inside/Domain/Obsidian/AttachmentTest.php
index ac080174..b9f797a9 100644
--- a/test/Unit/Inside/Domain/Obsidian/AttachmentTest.php
+++ b/test/Unit/Inside/Domain/Obsidian/AttachmentTest.php
@@ -38,11 +38,10 @@ public function testCreateReturnsAttachment(): void
$filePath = Inside\Domain\Shared\FilePath::create(
Inside\Domain\Shared\Directory::fromString($faker->slug()),
- Inside\Domain\Shared\FileName::fromString(\sprintf(
- '%s.%s',
- $faker->slug(),
- $faker->fileExtension(),
- )),
+ Inside\Domain\Shared\FileName::create(
+ Inside\Domain\Shared\BaseName::fromString($faker->slug()),
+ Inside\Domain\Shared\Extension::fromString($faker->fileExtension()),
+ ),
);
$attachment = Inside\Domain\Obsidian\Attachment::create($filePath);
diff --git a/test/Unit/Inside/Domain/Obsidian/NoteTest.php b/test/Unit/Inside/Domain/Obsidian/NoteTest.php
index cd3a0b65..9b6fad15 100644
--- a/test/Unit/Inside/Domain/Obsidian/NoteTest.php
+++ b/test/Unit/Inside/Domain/Obsidian/NoteTest.php
@@ -41,11 +41,10 @@ public function testCreateReturnsNote(): void
$filePath = Inside\Domain\Shared\FilePath::create(
Inside\Domain\Shared\Directory::fromString($faker->slug()),
- Inside\Domain\Shared\FileName::fromString(\sprintf(
- '%s.%s',
- $faker->slug(),
- $faker->fileExtension(),
- )),
+ Inside\Domain\Shared\FileName::create(
+ Inside\Domain\Shared\BaseName::fromString($faker->slug()),
+ Inside\Domain\Shared\Extension::fromString($faker->fileExtension()),
+ ),
);
$text = Inside\Domain\Shared\Text::fromString($faker->realText());
$tags = \array_map(static function () use ($faker): Inside\Domain\Shared\Tag {
@@ -54,11 +53,10 @@ public function testCreateReturnsNote(): void
$attachments = \array_map(static function () use ($faker): Inside\Domain\Obsidian\Attachment {
return Inside\Domain\Obsidian\Attachment::create(Inside\Domain\Shared\FilePath::create(
Inside\Domain\Shared\Directory::fromString($faker->slug()),
- Inside\Domain\Shared\FileName::fromString(\sprintf(
- '%s.%s',
- $faker->slug(),
- $faker->fileExtension(),
- )),
+ Inside\Domain\Shared\FileName::create(
+ Inside\Domain\Shared\BaseName::fromString($faker->slug()),
+ Inside\Domain\Shared\Extension::fromString($faker->fileExtension()),
+ ),
));
}, \range(0, 2));
@@ -84,22 +82,20 @@ public function testToStringReturnsStringRepresentationWhenNoteDoesNotHaveTags()
$note = Inside\Domain\Obsidian\Note::create(
Inside\Domain\Shared\FilePath::create(
Inside\Domain\Shared\Directory::fromString($faker->slug()),
- Inside\Domain\Shared\FileName::fromString(\sprintf(
- '%s.%s',
- $faker->slug(),
- $faker->fileExtension(),
- )),
+ Inside\Domain\Shared\FileName::create(
+ Inside\Domain\Shared\BaseName::fromString($faker->slug()),
+ Inside\Domain\Shared\Extension::fromString($faker->fileExtension()),
+ ),
),
$text,
[],
\array_map(static function () use ($faker): Inside\Domain\Obsidian\Attachment {
return Inside\Domain\Obsidian\Attachment::create(Inside\Domain\Shared\FilePath::create(
Inside\Domain\Shared\Directory::fromString($faker->slug()),
- Inside\Domain\Shared\FileName::fromString(\sprintf(
- '%s.%s',
- $faker->slug(),
- $faker->fileExtension(),
- )),
+ Inside\Domain\Shared\FileName::create(
+ Inside\Domain\Shared\BaseName::fromString($faker->slug()),
+ Inside\Domain\Shared\Extension::fromString($faker->fileExtension()),
+ ),
));
}, \range(0, 2)),
);
@@ -119,22 +115,20 @@ public function testToStringReturnsStringRepresentationWhenNoteHasTags(): void
$note = Inside\Domain\Obsidian\Note::create(
Inside\Domain\Shared\FilePath::create(
Inside\Domain\Shared\Directory::fromString($faker->slug()),
- Inside\Domain\Shared\FileName::fromString(\sprintf(
- '%s.%s',
- $faker->slug(),
- $faker->fileExtension(),
- )),
+ Inside\Domain\Shared\FileName::create(
+ Inside\Domain\Shared\BaseName::fromString($faker->slug()),
+ Inside\Domain\Shared\Extension::fromString($faker->fileExtension()),
+ ),
),
$text,
$tags,
\array_map(static function () use ($faker): Inside\Domain\Obsidian\Attachment {
return Inside\Domain\Obsidian\Attachment::create(Inside\Domain\Shared\FilePath::create(
Inside\Domain\Shared\Directory::fromString($faker->slug()),
- Inside\Domain\Shared\FileName::fromString(\sprintf(
- '%s.%s',
- $faker->slug(),
- $faker->fileExtension(),
- )),
+ Inside\Domain\Shared\FileName::create(
+ Inside\Domain\Shared\BaseName::fromString($faker->slug()),
+ Inside\Domain\Shared\Extension::fromString($faker->fileExtension()),
+ ),
));
}, \range(0, 2)),
);
diff --git a/test/Unit/Inside/Domain/Shared/FilePathTest.php b/test/Unit/Inside/Domain/Shared/FilePathTest.php
index 7616d5a7..b1294ebd 100644
--- a/test/Unit/Inside/Domain/Shared/FilePathTest.php
+++ b/test/Unit/Inside/Domain/Shared/FilePathTest.php
@@ -36,11 +36,10 @@ public function testCreateReturnsFilePath(): void
$faker = self::faker();
$directory = Inside\Domain\Shared\Directory::fromString($faker->slug());
- $fileName = Inside\Domain\Shared\FileName::fromString(\sprintf(
- '%s.%s',
- $faker->slug(),
- $faker->fileExtension(),
- ));
+ $fileName = Inside\Domain\Shared\FileName::create(
+ Inside\Domain\Shared\BaseName::fromString($faker->slug()),
+ Inside\Domain\Shared\Extension::fromString($faker->fileExtension()),
+ );
$filePath = Inside\Domain\Shared\FilePath::create(
$directory,
@@ -64,11 +63,10 @@ public function testFromStringReturnsFilePath(): void
$faker = self::faker();
$directory = Inside\Domain\Shared\Directory::fromString($faker->slug());
- $fileName = Inside\Domain\Shared\FileName::fromString(\sprintf(
- '%s.%s',
- $faker->slug(),
- $faker->fileExtension(),
- ));
+ $fileName = Inside\Domain\Shared\FileName::create(
+ Inside\Domain\Shared\BaseName::fromString($faker->slug()),
+ Inside\Domain\Shared\Extension::fromString($faker->fileExtension()),
+ );
$filePath = Inside\Domain\Shared\FilePath::fromString(\sprintf(
'%s/%s',
diff --git a/test/Unit/Outside/Adapter/Secondary/Obsidian/NoteWriterTest.php b/test/Unit/Outside/Adapter/Secondary/Obsidian/NoteWriterTest.php
index 83481e41..89057c0a 100644
--- a/test/Unit/Outside/Adapter/Secondary/Obsidian/NoteWriterTest.php
+++ b/test/Unit/Outside/Adapter/Secondary/Obsidian/NoteWriterTest.php
@@ -47,6 +47,8 @@ protected function tearDown(): void
public function testWriteCreatesVaultDirectoryWhenItDoesNotExist(): void
{
+ $faker = self::faker();
+
$vaultDirectory = Inside\Domain\Shared\Directory::fromString(\sprintf(
'%s/obsidian',
self::temporaryDirectory(),
@@ -54,7 +56,10 @@ public function testWriteCreatesVaultDirectoryWhenItDoesNotExist(): void
$filePath = Inside\Domain\Shared\FilePath::create(
$vaultDirectory,
- Inside\Domain\Shared\FileName::fromString('note.md'),
+ Inside\Domain\Shared\FileName::create(
+ Inside\Domain\Shared\BaseName::fromString($faker->slug()),
+ Inside\Domain\Shared\Extension::fromString($faker->fileExtension()),
+ ),
);
$note = Inside\Domain\Obsidian\Note::create(