public void TasksControllerReturnsBadRequestIfModelStateHasErrors()
        {
            var requestParams = new TaskListRequestDto();

            TasksController controller = this.TasksControllerInstance;

            controller.ModelState.AddModelError("error", "error");

            IActionResult result = controller.GetTaskList(requestParams);

            Assert.IsType <BadRequestObjectResult>(result);
        }
Example #2
0
        public IActionResult GetTaskList([FromQuery] TaskListRequestDto requestParams)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var taskEntities = _taskService.GetTasks(requestParams);
            var taskDtos     = _mapper.Map <List <Task>, List <TaskListItemDto> >(taskEntities);

            return(Ok(taskDtos));
        }
        public void GetTasksReturnsEntitiesForProject()
        {
            var requestParams = new TaskListRequestDto()
            {
                ProjectId = 1
            };
            List <Task> testTasks = TestValuesProvider.GetTasks();

            _taskRepositoryMock.Setup(repo => repo.GetAllAsIQueryable())
            .Returns(testTasks.AsQueryable());

            List <Task> result = this.TaskServiceInstance.GetTasks(requestParams);

            Assert.Equal(testTasks, result);
        }
        public void TasksControllerReturnsOkResultIfNoExceptionThrown()
        {
            var requestParams = new TaskListRequestDto()
            {
                ProjectId = 1
            };
            List <Task> testTasks = TestValuesProvider.GetTasks();

            _taskServiceMock.Setup(service => service.GetTasks(requestParams))
            .Returns(testTasks);

            IActionResult result = this.TasksControllerInstance.GetTaskList(requestParams);

            Assert.IsType <OkObjectResult>(result);
        }
        public void GetTasksReturnsFullCollectionWhenStatusIsNull()
        {
            var requestParams = new TaskListRequestDto()
            {
                ProjectId = 1,
                Status    = null
            };
            List <Task> testTasks = TestValuesProvider.GetTasks();

            _taskRepositoryMock.Setup(repo => repo.GetAllAsIQueryable())
            .Returns(testTasks.AsQueryable());

            List <Task> result = this.TaskServiceInstance.GetTasks(requestParams);

            _taskRepositoryMock.Verify(repo => repo.GetAllAsIQueryable(), Times.Once);

            Assert.Equal(testTasks.Count, result.Count);
        }
Example #6
0
        /// <summary>
        /// Gets tasks by specified parameters
        /// </summary>
        /// <param name="requestParams">Specified parameters</param>
        /// <returns>Fetched tasks</returns>
        public List <Task> GetTasks(TaskListRequestDto requestParams)
        {
            try
            {
                var tasks = _taskRepo.GetAllAsIQueryable()
                            .Include(task => task.Status)
                            .Where(task => task.ProjectId == requestParams.ProjectId);

                tasks = requestParams.Status == null || requestParams.Status == "All" ? tasks :
                        tasks.Where(task => task.Status.Label == requestParams.Status);

                tasks = tasks.OrderBy(task => task.Title);

                return(tasks.ToList());
            }
            catch (Exception)
            {
                throw new StriveDatabaseException("Failed to get task list from database");
            }
        }
        public void GetTasksThrowsExceptionWhenDbExceptionOccurs()
        {
            var requestParams = new TaskListRequestDto()
            {
                ProjectId = 1
            };
            var taskTestIds = new List <int>();

            _taskRepositoryMock.Setup(repo => repo.GetAllAsIQueryable())
            .Throws <Exception>();

            Assert.Throws <StriveDatabaseException>(() =>
            {
                this.TaskServiceInstance.GetTasks(requestParams);
            });
            Assert.Throws <StriveDatabaseException>(() =>
            {
                this.TaskServiceInstance.GetTasks(taskTestIds);
            });
        }