feature: Medication Tracking & Vital Sign Correlation
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
using System.Net;
|
||||
using System.Net.Http.Json;
|
||||
using FluentAssertions;
|
||||
|
||||
[Collection("Integration")]
|
||||
public class MedicationValidationTests
|
||||
{
|
||||
private readonly HttpClient _client;
|
||||
|
||||
public MedicationValidationTests(ApiFixture fixture) => _client = fixture.CreateClient();
|
||||
|
||||
[Fact]
|
||||
public async Task EmptyDrugName_Returns400()
|
||||
{
|
||||
var resp = await _client.PostAsJsonAsync(
|
||||
$"/api/v1/encounters/{Guid.NewGuid()}/medications",
|
||||
new { drugName = "", dose = 25, doseUnit = "mg", route = "PO", administeredBy = "nurse-1" });
|
||||
|
||||
resp.StatusCode.Should().Be(HttpStatusCode.BadRequest);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task ZeroDose_Returns400()
|
||||
{
|
||||
var resp = await _client.PostAsJsonAsync(
|
||||
$"/api/v1/encounters/{Guid.NewGuid()}/medications",
|
||||
new { drugName = "metoprolol", dose = 0, doseUnit = "mg", route = "PO", administeredBy = "nurse-1" });
|
||||
|
||||
resp.StatusCode.Should().Be(HttpStatusCode.BadRequest);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task FutureAdministeredAt_Returns400()
|
||||
{
|
||||
var futureTime = DateTimeOffset.UtcNow.AddHours(1);
|
||||
var resp = await _client.PostAsJsonAsync(
|
||||
$"/api/v1/encounters/{Guid.NewGuid()}/medications",
|
||||
new { drugName = "metoprolol", dose = 25, doseUnit = "mg", route = "PO",
|
||||
administeredBy = "nurse-1", administeredAt = futureTime });
|
||||
|
||||
resp.StatusCode.Should().Be(HttpStatusCode.BadRequest);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user