got initial month layout

This commit is contained in:
2023-01-05 17:27:57 -07:00
parent 159313cbca
commit dc70216f1d
8 changed files with 181 additions and 29 deletions

View File

@@ -20,6 +20,58 @@ public class CanvasServiceTests
EndAt: new DateTime(2022, 2, 1)
),
};
Mock<IWebRequestor> mockRequestor = getTermsMock(expectedTerms);
var service = new CanvasService(mockRequestor.Object);
var canvasTerms = await service.GetTerms();
canvasTerms.Should().BeEquivalentTo(expectedTerms);
}
[Test]
public async Task CanGetActiveTerms()
{
var expectedTerms = new EnrollmentTermModel[] {
new EnrollmentTermModel(
Id: 1,
Name: "one",
StartAt: new DateTime(2022, 5, 1),
EndAt: new DateTime(2022, 7, 1)
),
new EnrollmentTermModel(
Id: 2,
Name: "two",
StartAt: new DateTime(2022, 7, 1),
EndAt: new DateTime(2022, 9, 1)
),
new EnrollmentTermModel(
Id: 3,
Name: "three",
StartAt: new DateTime(2022, 9, 1),
EndAt: new DateTime(2022, 10, 1)
),
new EnrollmentTermModel(
Id: 4,
Name: "four",
StartAt: new DateTime(2022, 10, 1),
EndAt: new DateTime(2022, 11, 1)
),
};
Mock<IWebRequestor> mockRequestor = getTermsMock(expectedTerms);
var service = new CanvasService(mockRequestor.Object);
var queryDate = new DateTime(2022, 6, 1);
var canvasTerms = await service.GetCurrentTermsFor(queryDate);
canvasTerms.Count().Should().Be(3);
var termIds = canvasTerms.Select(t => t.Id);
var expectedIds = new int[] { 1, 2, 3 };
termIds.Should().BeEquivalentTo(expectedIds);
}
private static Mock<IWebRequestor> getTermsMock(EnrollmentTermModel[] expectedTerms)
{
var data = new RedundantEnrollmentTermsResponse(EnrollmentTerms: expectedTerms);
var response = new RestResponse<RedundantEnrollmentTermsResponse>();
response.Data = data;
@@ -28,11 +80,7 @@ public class CanvasServiceTests
mockRequestor
.Setup(s => s.GetAsync<RedundantEnrollmentTermsResponse>(It.IsAny<RestRequest>()))
.ReturnsAsync(response);
var service = new CanvasService(mockRequestor.Object);
var canvasTerms = await service.GetTerms();
canvasTerms.Should().BeEquivalentTo(expectedTerms);
return mockRequestor;
}
}