can create config from semester

This commit is contained in:
2023-01-09 20:02:22 -07:00
parent 6c91078147
commit 530613fca3
3 changed files with 43 additions and 2 deletions

View File

@@ -0,0 +1,24 @@
using CanvasModel.EnrollmentTerms;
public class ConfigurationTests
{
[Test]
public void TestCanCreateConfigFromTermAndDays()
{
DateTime startAt = new DateTime(2022, 1, 1);
DateTime endAt = new DateTime(2022, 1, 2);
var canvasTerm = new EnrollmentTermModel(
Id: 1,
Name: "one",
StartAt: startAt,
EndAt: endAt
);
var daysOfWeek = new DayOfWeek[] { DayOfWeek.Monday };
var config = ConfigurationManagement.CreateFromTerm(canvasTerm, daysOfWeek);
config.StartDate.Should().Be(startAt);
config.EndDate.Should().Be(endAt);
config.Days.Should().BeEquivalentTo(daysOfWeek);
}
}

View File

@@ -5,8 +5,6 @@ public class SemesterPlanner
public IEnumerable<CalendarMonth> Months { get; }
public SemesterPlanner(SemesterConfiguration configuration)
{
// var start = configuration.StartAt ?? throw new Exception($"Canvas Term must have a start date. Term: {configuration.Id}");
// var end = configuration.EndAt ?? throw new Exception($"Canvas Term must have a end date. Term: {configuration.Id}");
var start = configuration.StartDate;
var end = configuration.EndDate;

View File

@@ -0,0 +1,19 @@
using CanvasModel.EnrollmentTerms;
public class ConfigurationManagement
{
public static SemesterConfiguration CreateFromTerm(
EnrollmentTermModel canvasTerm,
DayOfWeek[] daysOfWeek
)
{
var start = canvasTerm.StartAt ?? throw new Exception($"Canvas Term must have a start date. Term: {canvasTerm.Name}");
var end = canvasTerm.EndAt ?? throw new Exception($"Canvas Term must have a end date. Term: {canvasTerm.Name}");
return new SemesterConfiguration(
StartDate: start,
EndDate: end,
Days: daysOfWeek
);
}
}