using System.Net;
using FluentAssertions;
using Microsoft.AspNetCore.Mvc.Testing;
using Xunit;
namespace WalletService.FunctionalTests.Controllers;
///
/// EN: Functional tests for Health API endpoints.
/// VI: Functional tests cho các endpoints API Health.
///
public class HealthControllerTests : IClassFixture
{
private readonly HttpClient _client;
public HealthControllerTests(CustomWebApplicationFactory factory)
{
_client = factory.CreateClient(new WebApplicationFactoryClientOptions
{
AllowAutoRedirect = false
});
}
[Fact]
public async Task HealthLive_ShouldReturnOk()
{
// Act
var response = await _client.GetAsync("/health/live");
// Assert
response.StatusCode.Should().Be(HttpStatusCode.OK);
}
[Fact]
public async Task HealthReady_ShouldReturnOk()
{
// Act
var response = await _client.GetAsync("/health/ready");
// Assert
response.StatusCode.Should().Be(HttpStatusCode.OK);
}
[Fact]
public async Task Health_ShouldReturnOk()
{
// Act
var response = await _client.GetAsync("/health");
// Assert
response.StatusCode.Should().Be(HttpStatusCode.OK);
}
}