public static async Task Get_summary_returns_request_status( RequestStatus requestStatus, SummaryStatus expectedSummaryStatus, bool expectedIsProblem) { var activeDates = new[] { 28.June(2021) }; var requests = new[] { new Request("user1", 28.June(2021), requestStatus) }; var dateCalculator = CreateDateCalculator.WithActiveDates(activeDates); var controller = new SummaryController( dateCalculator, CreateRequestRepository.WithRequests("user1", activeDates, requests)) { ControllerContext = CreateControllerContext.WithUsername("user1") }; var result = await controller.GetSummaryAsync(); var resultValue = GetResultValue <SummaryResponse>(result); var data = GetDailyData(resultValue.Summary, 28.June(2021)); Assert.Equal(expectedSummaryStatus, data.Status); Assert.Equal(expectedIsProblem, data.IsProblem); }
public static async Task Get_summary_returns_null_status_when_no_request_exists() { var activeDates = new[] { 28.June(2021) }; var dateCalculator = CreateDateCalculator.WithActiveDates(activeDates); var controller = new SummaryController( dateCalculator, CreateRequestRepository.WithRequests("user1", activeDates, new List <Request>())) { ControllerContext = CreateControllerContext.WithUsername("user1") }; var result = await controller.GetSummaryAsync(); var resultValue = GetResultValue <SummaryResponse>(result); var data = GetDailyData(resultValue.Summary, 28.June(2021)); Assert.Null(data.Status); Assert.False(data.IsProblem); }
public static async Task Get_summary_returns_summary_data_for_each_active_date() { var activeDates = new[] { 28.June(2021), 29.June(2021), 1.July(2021) }; var dateCalculator = CreateDateCalculator.WithActiveDates(activeDates); var controller = new SummaryController( dateCalculator, CreateRequestRepository.WithRequests("user1", activeDates, new List <Request>())) { ControllerContext = CreateControllerContext.WithUsername("user1") }; var result = await controller.GetSummaryAsync(); var resultValue = GetResultValue <SummaryResponse>(result); var visibleDays = GetVisibleDays(resultValue.Summary); Assert.Equal(activeDates, visibleDays.Select(d => d.LocalDate)); Assert.All(visibleDays, d => Assert.NotNull(d.Data)); }
public static async Task Get_summary_ignores_cancelled_requests() { var activeDates = new[] { 28.June(2021) }; var requests = new[] { new Request("user1", 28.June(2021), RequestStatus.Cancelled) }; var dateCalculator = CreateDateCalculator.WithActiveDates(activeDates); var controller = new SummaryController( dateCalculator, CreateRequestRepository.WithRequests("user1", activeDates, requests)) { ControllerContext = CreateControllerContext.WithUsername("user1") }; var result = await controller.GetSummaryAsync(); var resultValue = GetResultValue <SummaryResponse>(result); var data = GetDailyData(resultValue.Summary, 28.June(2021)); Assert.Null(data.Status); Assert.False(data.IsProblem); }