add api tests
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Feature\Api;
|
||||
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
use Tests\TestCase;
|
||||
|
||||
class ApiPublicEndpointsTest extends TestCase
|
||||
{
|
||||
use RefreshDatabase;
|
||||
|
||||
public function test_health_endpoint_is_available(): void
|
||||
{
|
||||
$this->getJson('/api/v1/health')
|
||||
->assertOk();
|
||||
}
|
||||
|
||||
public function test_public_policy_endpoints_are_available(): void
|
||||
{
|
||||
foreach (['/api/v1/policies/school', '/api/v1/policies/picture'] as $uri) {
|
||||
$response = $this->getJson($uri);
|
||||
|
||||
$this->assertLessThan(500, $response->getStatusCode(), "$uri returned a server error");
|
||||
}
|
||||
}
|
||||
|
||||
public function test_public_static_pages_are_available(): void
|
||||
{
|
||||
foreach (['privacy', 'terms', 'help'] as $page) {
|
||||
$response = $this->getJson("/api/v1/pages/$page");
|
||||
|
||||
$this->assertLessThan(500, $response->getStatusCode(), "/api/v1/pages/$page returned a server error");
|
||||
}
|
||||
}
|
||||
|
||||
public function test_public_frontend_content_endpoints_do_not_server_error(): void
|
||||
{
|
||||
foreach (['/', 'facility', 'team', 'call-to-action', 'testimonial', 'not-found'] as $path) {
|
||||
$uri = '/api/v1/frontend' . ($path === '/' ? '' : '/' . $path);
|
||||
$response = $this->getJson($uri);
|
||||
|
||||
$this->assertLessThan(500, $response->getStatusCode(), "$uri returned a server error");
|
||||
}
|
||||
}
|
||||
|
||||
public function test_registration_captcha_endpoint_returns_captcha_payload(): void
|
||||
{
|
||||
$this->getJson('/api/v1/auth/register/captcha')
|
||||
->assertOk()
|
||||
->assertJsonPath('ok', true)
|
||||
->assertJsonStructure(['ok', 'captcha']);
|
||||
}
|
||||
|
||||
public function test_invalid_login_payload_is_rejected_cleanly(): void
|
||||
{
|
||||
$this->postJson('/api/v1/auth/login', [])
|
||||
->assertStatus(400)
|
||||
->assertJsonPath('status', false);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user