47 lines
No EOL
1.7 KiB
C#
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);
|
|
}
|
|
} |