|
- using System.Net;
- using System.Net.Http.Json;
- using Microsoft.AspNetCore.Mvc.Testing;
-
- namespace Campaign_Tracker.Server.Tests;
-
- public class HealthEndpointTests : IClassFixture<WebApplicationFactory<Program>>
- {
- private readonly WebApplicationFactory<Program> _factory;
-
- public HealthEndpointTests(WebApplicationFactory<Program> 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<HealthResponse>();
-
- 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;
- }
- }
|