getViewer(); $resp = $this->actingAs($viewer)->get($this->endpoint); $resp->assertStatus(403); $resp = $this->actingAsApiEditor()->get($this->endpoint); $resp->assertStatus(200); } public function test_docs_page_returns_view_with_docs_content() { $resp = $this->actingAsApiEditor()->get($this->endpoint); $resp->assertStatus(200); $resp->assertSee(url('/api/docs.json')); $resp->assertSee('Show a JSON view of the API docs data.'); $resp->assertHeader('Content-Type', 'text/html; charset=UTF-8'); } public function test_docs_json_endpoint_returns_json() { $resp = $this->actingAsApiEditor()->get($this->endpoint . '.json'); $resp->assertStatus(200); $resp->assertHeader('Content-Type', 'application/json'); $resp->assertJson([ 'docs' => [[ 'name' => 'docs-display', 'uri' => 'api/docs', ]], ]); } public function test_docs_page_visible_by_public_user_if_given_permission() { $this->setSettings(['app-public' => true]); $guest = User::getDefault(); $this->startSession(); $resp = $this->get('/api/docs'); $resp->assertStatus(403); $this->giveUserPermissions($guest, ['access-api']); $resp = $this->get('/api/docs'); $resp->assertStatus(200); } }