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); }
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); }
/// <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); }); }