artisan('help:sync'); } public function test_guest_help_listing_is_public(): void { $response = $this->getJson('/api/v1/help?audience=guest&locale=en'); $response->assertOk() ->assertJsonStructure(['data' => [['slug', 'title', 'summary']]]) ->assertJsonFragment(['slug' => 'getting-started']); } public function test_guest_help_detail_returns_article(): void { $response = $this->getJson('/api/v1/help/getting-started?audience=guest&locale=en'); $response->assertOk() ->assertJsonPath('data.slug', 'getting-started'); $this->assertStringContainsString('When to read this', $response->json('data.body_html')); } public function test_admin_help_requires_authentication(): void { $this->getJson('/api/v1/help?audience=admin&locale=en')->assertStatus(401); } public function test_admin_help_allows_authenticated_users(): void { $user = User::factory()->create([ 'role' => 'tenant_admin', ]); Sanctum::actingAs($user); $response = $this->getJson('/api/v1/help?audience=admin&locale=en'); $response->assertOk() ->assertJsonFragment(['slug' => 'tenant-dashboard-overview']); } }