public async Task AddTaskCreatedAtRouteStatus() { //Arrange ICollection <PTask> tasks = new List <PTask>() { new PTask { Name = "test" } }; Project project = new Project { Name = "test", ProjectId = 1, PTasks = tasks }; TaskForAdd taskForAdd = new TaskForAdd { Name = "test" }; PTask task = new PTask { Name = "test" }; mockRepoWrapper.Setup(x => x.ProjectRepository.GetProject(1)).Returns(Task.FromResult(project)); mockMapper.Setup(x => x.Map <PTask>(taskForAdd)).Returns(task); mockRepoWrapper.Setup(x => x.SaveAll()).Returns(Task.FromResult(true)); TaskController controller = new TaskController(mockMapper.Object, mockRepoWrapper.Object); //Act var action = await controller.AddTask(1, 1, taskForAdd) as CreatedAtRouteResult; var item = action.Value as TaskForReturn; //Assert Assert.Equal(201, action.StatusCode); Assert.Equal("GetTask", action.RouteName); }
public async Task AddTaskBadRequestStatus() { //Arrange ICollection <PTask> tasks = new List <PTask>() { new PTask { Name = "test" } }; Project project = new Project { Name = "test", ProjectId = 1, PTasks = tasks }; TaskForAdd taskForAdd = new TaskForAdd { Name = "test" }; PTask task = new PTask { Name = "test" }; mockRepoWrapper.Setup(x => x.ProjectRepository.GetProject(1)).Returns(Task.FromResult(project)); mockMapper.Setup(x => x.Map <PTask>(taskForAdd)).Returns(task); mockRepoWrapper.Setup(x => x.SaveAll()).Returns(Task.FromResult(false)); TaskController controller = new TaskController(mockMapper.Object, mockRepoWrapper.Object); //Act var action = await controller.AddTask(1, 1, taskForAdd) as BadRequestObjectResult; //Assert Assert.Equal(400, action.StatusCode); Assert.NotNull(action.Value); }
public async Task <IActionResult> AddTask(int userId, int projectId, TaskForAdd taskForAdd) { var project = await repositoryWrapper.ProjectRepository.GetProject(projectId); if (project == null) { return(NotFound("Could not find project.")); } var taskToAdd = mapper.Map <PTask>(taskForAdd); taskToAdd.Status = "To Do"; taskToAdd.Owner = userId; project.PTasks.Add(taskToAdd); if (await repositoryWrapper.SaveAll()) { var taskForReturn = mapper.Map <TaskForReturn>(taskToAdd); return(CreatedAtRoute("GetTask", new { userId, projectId, taskId = taskToAdd.PTaskId }, taskForReturn)); } return(BadRequest("Could not add task.")); }