コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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."));
        }