BookStack/tests/Api/ApiDocsTest.php
Dan Brown 38883e8d46
API Docs: Allowed multi-paragraph descriptions
Added support for mulit-line endpoint descriptions via blank
intermediate lines in php controller method docblocks.

Also tweaks endpoint header design for better flexing and alignment.
2023-06-20 23:44:39 +01:00

40 lines
1.1 KiB
PHP

<?php
namespace Tests\Api;
use Tests\TestCase;
class ApiDocsTest extends TestCase
{
use TestsApi;
protected string $endpoint = '/api/docs';
public function test_api_endpoint_redirects_to_docs()
{
$resp = $this->actingAsApiEditor()->get('/api');
$resp->assertRedirect('api/docs');
}
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',
]],
]);
}
}