diff --git a/src/Data/Status.php b/src/Data/Status.php index 8b5a31d..856dcae 100644 --- a/src/Data/Status.php +++ b/src/Data/Status.php @@ -15,6 +15,7 @@ class Status extends Dto { public function __construct( public readonly string $name, + public readonly string $slug = '', public readonly bool $public = false, public readonly bool $protected = false, public readonly bool $private = false, diff --git a/tests/Unit/Data/DataModelsTest.php b/tests/Unit/Data/DataModelsTest.php index 3065462..bb5c98a 100644 --- a/tests/Unit/Data/DataModelsTest.php +++ b/tests/Unit/Data/DataModelsTest.php @@ -134,6 +134,7 @@ public function testStatusConstructorDefaultsOptionalWordPressFields(): void $status = new Status('Published'); $this->assertSame('Published', $status->name); + $this->assertSame('', $status->slug); $this->assertFalse($status->public); $this->assertFalse($status->protected); $this->assertFalse($status->private); @@ -142,6 +143,17 @@ public function testStatusConstructorDefaultsOptionalWordPressFields(): void $this->assertFalse($status->date_floating); } + public function testStatusConstructorPreservesWordPressSlug(): void + { + $status = new Status( + name: 'Published', + slug: 'publish', + ); + + $this->assertSame('publish', $status->slug); + $this->assertSame('publish', $status->toArray()['slug']); + } + public function testCommentConstructorPreservesRenderedContentAndAvatarMap(): void { $content = new RenderedContent('

Approved comment

');