diff --git a/app/Http/Controllers/WikiController.php b/app/Http/Controllers/WikiController.php index 00c580db2..f4516bfe4 100644 --- a/app/Http/Controllers/WikiController.php +++ b/app/Http/Controllers/WikiController.php @@ -218,10 +218,10 @@ public function delete(Request $request): \Illuminate\Http\JsonResponse public function getWikiDetailsForIdForOwner(Request $request): \Illuminate\Http\Response { $wiki = $request->attributes->get('wiki') - ->with('wikiManagers') - ->with('wikiDbVersion') - ->with('wikiLatestProfile') - ->with('publicSettings')->first(); + ->load('wikiManagers') + ->load('wikiDbVersion') + ->load('wikiLatestProfile') + ->load('publicSettings'); $res = [ 'success' => true, diff --git a/tests/Routes/Wiki/DetailsTest.php b/tests/Routes/Wiki/DetailsTest.php index a793988c7..91204b624 100644 --- a/tests/Routes/Wiki/DetailsTest.php +++ b/tests/Routes/Wiki/DetailsTest.php @@ -61,6 +61,19 @@ public function testSkipsNonPublicSettings() $this->assertEquals(1, $publicSettings[0]['value']); } + public function testReturnsCorrectWikiNotFirstWiki(): void + { + $firstWiki = Wiki::factory()->create(); + $userWiki = Wiki::factory()->create(); + $user = User::factory()->create(['verified' => true]); + WikiManager::factory()->create(['wiki_id' => $userWiki->id, 'user_id' => $user->id]); + $this->assertEquals($firstWiki->id, Wiki::first()->id); + $this->actingAs($user, 'api') + ->postJson($this->route, ['wiki' => $userWiki->id]) + ->assertJsonPath('data.id', $userWiki->id) + ->assertStatus(200); + } + public function testFailOnWrongWikiManager(): void { $userWiki = Wiki::factory()->create();