Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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));
        }