using Health.Application.Medications;
using Health.Domain.Enums;

namespace Health.Tests;

public sealed class MedicationScheduleTests
{
    [Fact]
    public void FutureDoseOutsideReminderWindow_RemainsVisibleAsScheduled()
    {
        var status = MedicationScheduleStatus.Resolve(
            new TimeOnly(18, 0),
            new TimeOnly(8, 0),
            logStatus: null);

        Assert.Equal("scheduled", status);
    }

    [Fact]
    public void LoggedDose_UsesItsActualStatus()
    {
        var status = MedicationScheduleStatus.Resolve(
            new TimeOnly(8, 0),
            new TimeOnly(12, 0),
            MedicationLogStatus.Taken);

        Assert.Equal("taken", status);
    }
}
