ShiftScheduler/ShiftScheduler.Services.Tests/ConfigurationServiceTests.cs

47 lines
No EOL
1.7 KiB
C#

using ShiftScheduler.Shared;
using Shouldly;
namespace ShiftScheduler.Services.Tests;
public class ConfigurationServiceTests
{
[Fact]
public void ParseShiftTimes_WithMorningAndAfternoon_ShouldReturnValid()
{
var applicationConfig = new ApplicationConfiguration();
var configurationService = new ConfigurationService(applicationConfig);
var shift = new Shift
{
MorningTime = "06:00-12:30",
AfternoonTime = "13:00-17:30"
};
var shiftTimes = configurationService.ParseShiftTimes(DateTime.Parse("2025-07-13T13:00:00"), shift);
shiftTimes.MorningStart.ShouldBe(T("2025-07-13T06:00:00+02:00"));
shiftTimes.MorningEnd.ShouldBe(T("2025-07-13T12:30:00+02:00"));
shiftTimes.AfternoonStart.ShouldBe(T("2025-07-13T13:00:00+02:00"));
shiftTimes.AfternoonEnd.ShouldBe(T("2025-07-13T17:30:00+02:00"));
}
[Fact]
public void ParseShiftTimes_WithMorning_ShouldReturnValid()
{
var applicationConfig = new ApplicationConfiguration();
var configurationService = new ConfigurationService(applicationConfig);
var shift = new Shift
{
MorningTime = "06:00-12:30"
};
var shiftTimes = configurationService.ParseShiftTimes(DateTime.Parse("2025-07-13T13:00:00"), shift);
shiftTimes.MorningStart.ShouldBe(T("2025-07-13T06:00:00+02:00"));
shiftTimes.MorningEnd.ShouldBe(T("2025-07-13T12:30:00+02:00"));
shiftTimes.AfternoonStart.ShouldBeNull();
shiftTimes.AfternoonEnd.ShouldBeNull();
}
private DateTimeOffset T(string dateTimeString)
{
return DateTimeOffset.Parse(dateTimeString);
}
}