pivoting to local yaml files for state

This commit is contained in:
2023-07-18 23:02:48 -06:00
parent d691f817b7
commit 04274bd6c5
15 changed files with 343 additions and 273 deletions

View File

@@ -1,86 +1,86 @@
using CanvasModel.Courses;
using CanvasModel.EnrollmentTerms;
using FluentAssertions;
using Moq;
using RestSharp;
using System.Net;
// using CanvasModel.Courses;
// using CanvasModel.EnrollmentTerms;
// using FluentAssertions;
// using Moq;
// using RestSharp;
// using System.Net;
namespace Management.Test;
// namespace Management.Test;
public class CanvasServiceTests
{
[Test]
public async Task CanReadCanvasSemesters()
{
var expectedTerms = new EnrollmentTermModel[] {
new EnrollmentTermModel(
Id: 1,
Name: "one",
StartAt: new DateTime(2022, 1, 1),
EndAt: new DateTime(2022, 2, 1)
),
};
Mock<IWebRequestor> mockRequestor = getTermsMock(expectedTerms);
// public class CanvasServiceTests
// {
// [Test]
// public async Task CanReadCanvasSemesters()
// {
// var expectedTerms = new EnrollmentTermModel[] {
// new EnrollmentTermModel(
// Id: 1,
// Name: "one",
// StartAt: new DateTime(2022, 1, 1),
// EndAt: new DateTime(2022, 2, 1)
// ),
// };
// Mock<IWebRequestor> mockRequestor = getTermsMock(expectedTerms);
var service = new CanvasService(mockRequestor.Object);
var canvasTerms = await service.GetTerms();
// var service = new CanvasService(mockRequestor.Object);
// var canvasTerms = await service.GetTerms();
canvasTerms.Should().BeEquivalentTo(expectedTerms);
}
// 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);
// [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);
// var queryDate = new DateTime(2022, 6, 1);
// var canvasTerms = await service.GetCurrentTermsFor(queryDate);
canvasTerms.Count().Should().Be(3);
// canvasTerms.Count().Should().Be(3);
var termIds = canvasTerms.Select(t => t.Id);
var expectedIds = new int[] { 1, 2, 3 };
termIds.Should().BeEquivalentTo(expectedIds);
}
// 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;
// private static Mock<IWebRequestor> getTermsMock(EnrollmentTermModel[] expectedTerms)
// {
// var data = new RedundantEnrollmentTermsResponse(EnrollmentTerms: expectedTerms);
// var response = new RestResponse<RedundantEnrollmentTermsResponse>();
// response.Data = data;
var mockRequestor = new Mock<IWebRequestor>();
mockRequestor
.Setup(s => s.GetAsync<RedundantEnrollmentTermsResponse>(It.IsAny<RestRequest>()))
.ReturnsAsync(response);
return mockRequestor;
}
// var mockRequestor = new Mock<IWebRequestor>();
// mockRequestor
// .Setup(s => s.GetAsync<RedundantEnrollmentTermsResponse>(It.IsAny<RestRequest>()))
// .ReturnsAsync(response);
// return mockRequestor;
// }
}
// }