diff --git a/app/Entities/Controllers/ChapterApiController.php b/app/Entities/Controllers/ChapterApiController.php index c21323262..85c81c248 100644 --- a/app/Entities/Controllers/ChapterApiController.php +++ b/app/Entities/Controllers/ChapterApiController.php @@ -134,8 +134,9 @@ class ChapterApiController extends ApiController $chapter->unsetRelations()->refresh(); $chapter->load(['tags']); - $chapter->makeVisible('description_html') - ->setAttribute('description_html', $chapter->descriptionHtml()); + $chapter->makeVisible('description_html'); + $chapter->setAttribute('description_html', $chapter->descriptionHtml()); + $chapter->setAttribute('book_slug', $chapter->book()->first()->slug); return $chapter; } diff --git a/dev/api/responses/chapters-create.json b/dev/api/responses/chapters-create.json index 183186b0b..2d4044405 100644 --- a/dev/api/responses/chapters-create.json +++ b/dev/api/responses/chapters-create.json @@ -11,6 +11,7 @@ "updated_by": 1, "owned_by": 1, "description_html": "
This is a great new chapter<\/strong> that I've created via the API<\/p>",
+ "book_slug": "example-book",
"tags": [
{
"name": "Category",
diff --git a/dev/api/responses/chapters-update.json b/dev/api/responses/chapters-update.json
index 5ac3c64c1..3dad6aa0c 100644
--- a/dev/api/responses/chapters-update.json
+++ b/dev/api/responses/chapters-update.json
@@ -11,6 +11,7 @@
"updated_by": 1,
"owned_by": 1,
"description_html": " This is an updated chapter<\/strong> that I've altered via the API<\/p>",
+ "book_slug": "example-book",
"tags": [
{
"name": "Category",
diff --git a/tests/Api/ChaptersApiTest.php b/tests/Api/ChaptersApiTest.php
index 81a918877..002046c3a 100644
--- a/tests/Api/ChaptersApiTest.php
+++ b/tests/Api/ChaptersApiTest.php
@@ -22,11 +22,12 @@ class ChaptersApiTest extends TestCase
$resp = $this->getJson($this->baseEndpoint . '?count=1&sort=+id');
$resp->assertJson(['data' => [
[
- 'id' => $firstChapter->id,
- 'name' => $firstChapter->name,
- 'slug' => $firstChapter->slug,
- 'book_id' => $firstChapter->book->id,
- 'priority' => $firstChapter->priority,
+ 'id' => $firstChapter->id,
+ 'name' => $firstChapter->name,
+ 'slug' => $firstChapter->slug,
+ 'book_id' => $firstChapter->book->id,
+ 'priority' => $firstChapter->priority,
+ 'book_slug' => $firstChapter->book->slug,
],
]]);
}
@@ -130,6 +131,7 @@ class ChaptersApiTest extends TestCase
$resp->assertJson([
'id' => $chapter->id,
'slug' => $chapter->slug,
+ 'book_slug' => $chapter->book->slug,
'created_by' => [
'name' => $chapter->createdBy->name,
],
@@ -148,6 +150,7 @@ class ChaptersApiTest extends TestCase
],
],
]);
+ $resp->assertJsonMissingPath('book');
$resp->assertJsonCount($chapter->pages()->count(), 'pages');
}