public static async Task Returns_404_response_when_given_user_does_not_exist() { var controller = new RequestsController( Mock.Of <IDateCalculator>(), Mock.Of <IRequestRepository>(), Mock.Of <ITriggerRepository>(), CreateUserRepository.WithUserExists(UserId, false)); var result = await controller.GetByIdAsync(UserId); Assert.IsType <NotFoundResult>(result); }
public static async Task Returns_404_response_when_given_user_to_update_does_not_exist() { var controller = new RequestsController( Mock.Of <IDateCalculator>(), Mock.Of <IRequestRepository>(), Mock.Of <ITriggerRepository>(), CreateUserRepository.WithUserExists(UserId, false)); var result = await controller.PatchByIdAsync( UserId, new RequestsPatchRequest(Enumerable.Empty <RequestsPatchRequestDailyData>())); Assert.IsType <NotFoundResult>(result); }
public static async Task Returns_data_for_given_user_when_specified() { var activeDates = new[] { 2.February(2021) }; var requests = new[] { new Request(UserId, 2.February(2021), RequestStatus.Interrupted) }; var controller = new RequestsController( CreateDateCalculator.WithActiveDates(activeDates), CreateRequestRepository.WithRequests(UserId, activeDates, requests), Mock.Of <ITriggerRepository>(), CreateUserRepository.WithUserExists(UserId, true)); var result = await controller.GetByIdAsync(UserId); var resultValue = GetResultValue <RequestsResponse>(result); var data = GetDailyData(resultValue.Requests, 2.February(2021)); Assert.True(data.Requested); }
public static async Task Returns_false_when_space_has_not_been_requested() { var activeDates = new[] { 2.February(2021) }; var controller = new RequestsController( CreateDateCalculator.WithActiveDates(activeDates), CreateRequestRepository.WithRequests(UserId, activeDates, new List <Request>()), Mock.Of <ITriggerRepository>(), CreateUserRepository.WithUserExists(UserId, true)) { ControllerContext = CreateControllerContext.WithUsername(UserId) }; var result = await controller.GetAsync(); var resultValue = GetResultValue <RequestsResponse>(result); var data = GetDailyData(resultValue.Requests, 2.February(2021)); Assert.False(data.Requested); }
public static async Task Returns_requests_data_for_each_active_date() { var activeDates = new[] { 2.February(2021), 3.February(2021), 4.February(2021) }; var controller = new RequestsController( CreateDateCalculator.WithActiveDates(activeDates), CreateRequestRepository.WithRequests(UserId, activeDates, new List <Request>()), Mock.Of <ITriggerRepository>(), CreateUserRepository.WithUserExists(UserId, true)) { ControllerContext = CreateControllerContext.WithUsername(UserId) }; var result = await controller.GetAsync(); var resultValue = GetResultValue <RequestsResponse>(result); var visibleDays = GetVisibleDays(resultValue.Requests); Assert.Equal(activeDates, visibleDays.Select(d => d.LocalDate)); Assert.All(visibleDays, d => Assert.NotNull(d.Data)); }