using System.Net; using System.Net.Http.Json; using Microsoft.AspNetCore.Mvc.Testing; namespace Campaign_Tracker.Server.Tests; public class HealthEndpointTests : IClassFixture> { private readonly WebApplicationFactory _factory; public HealthEndpointTests(WebApplicationFactory factory) { _factory = factory; } [Fact] public async Task GetHealth_ReturnsOkWithExpectedPayload() { using var client = _factory.CreateClient(); var response = await client.GetAsync("/health"); var payload = await response.Content.ReadFromJsonAsync(); Assert.Equal(HttpStatusCode.OK, response.StatusCode); Assert.NotNull(payload); Assert.Equal("ok", payload.Status); } private sealed class HealthResponse { public string Status { get; init; } = string.Empty; } }