示例#1
0
        public void UpdateTaskReturnsOkOnSuccessfulUpdate()
        {
            var taskData = new TaskCreateUpdateRequestDto()
            {
                Id          = 1,
                Title       = "test",
                Description = "test",
                Status      = "status"
            };
            var mappedTask = new Task()
            {
                Status = new TaskStatus()
                {
                    Label = "status"
                }
            };

            _taskServiceMock.Setup(service => service.GetTaskById(It.IsAny <int>()))
            .Returns(TestValuesProvider.GetTasks().FirstOrDefault());
            _mapperMock.Setup(mapper => mapper.Map(It.IsAny <TaskCreateUpdateRequestDto>(), It.IsAny <Task>()))
            .Returns(mappedTask);

            IActionResult result = this.TasksControllerInstance.UpdateTask(taskData);

            Assert.IsType <OkResult>(result);
        }
示例#2
0
        public IActionResult UpdateTask([FromBody] TaskCreateUpdateRequestDto updatedTaskData)
        {
            if (ModelState.IsValid)
            {
                var taskForUpdate = _taskService.GetTaskById(updatedTaskData.Id.Value);

                if (taskForUpdate != null)
                {
                    taskForUpdate = _mapper.Map(updatedTaskData, taskForUpdate);

                    if (updatedTaskData.Status != taskForUpdate.Status.Label)
                    {
                        var newTaskStatus = _taskStatusService.GetStatus(updatedTaskData.Status);
                        if (newTaskStatus == null)
                        {
                            return(NotFound(updatedTaskData.Status));
                        }
                        taskForUpdate.Status = newTaskStatus;
                    }

                    _taskService.Update(taskForUpdate);
                    return(Ok());
                }
                return(NotFound(updatedTaskData.Id));
            }

            return(BadRequest(ModelState));
        }
示例#3
0
        public void UpdateTaskReturnsNotFoundIfStatusNotFound()
        {
            var oldStatus = new TaskStatus()
            {
                Label = "old status"
            };
            var newStatus = new TaskStatus()
            {
                Label = "new status"
            };
            var taskData = new TaskCreateUpdateRequestDto()
            {
                Id        = 1,
                Status    = newStatus.Label,
                ProjectId = 1
            };
            var mappedTask = new Task()
            {
                Status = oldStatus
            };

            _taskServiceMock.Setup(service => service.GetTaskById(It.IsAny <int>()))
            .Returns(TestValuesProvider.GetTasks().FirstOrDefault());
            _mapperMock.Setup(mapper => mapper.Map(It.IsAny <TaskCreateUpdateRequestDto>(), It.IsAny <Task>()))
            .Returns(mappedTask);
            _taskStatusServiceMock.Setup(service => service.GetStatus(taskData.Status))
            .Returns(null as TaskStatus);

            IActionResult result = this.TasksControllerInstance.UpdateTask(taskData);

            Assert.IsType <NotFoundObjectResult>(result);
        }
示例#4
0
        public void UpdateTaskReturnsBadRequestOnInvalidData()
        {
            var taskData = new TaskCreateUpdateRequestDto()
            {
                Title       = "test",
                Description = "test"
            };
            TasksController controller = this.TasksControllerInstance;

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

            IActionResult result = controller.UpdateTask(taskData);

            Assert.IsType <BadRequestObjectResult>(result);
        }
示例#5
0
        public void UpdateTaskReturnsNotFoundIfTaskNotFoundById()
        {
            var taskData = new TaskCreateUpdateRequestDto()
            {
                Id          = 1,
                Title       = "test",
                Description = "test",
            };

            _taskServiceMock.Setup(service => service.GetTaskById(taskData.Id.Value))
            .Returns(null as Task);

            IActionResult result = this.TasksControllerInstance.UpdateTask(taskData);

            Assert.IsType <NotFoundObjectResult>(result);
        }
        public void CreateTaskReturnsOkOnCorrectData()
        {
            var taskData    = new TaskCreateUpdateRequestDto();
            var foundStatus = new TaskStatus();
            var taskEntity  = new Task();

            _mapperMock.Setup(mapper => mapper.Map <Task>(taskData))
            .Returns(taskEntity);
            _taskStatusServiceMock.Setup(service => service.GetStatus(It.IsAny <string>()))
            .Returns(foundStatus);

            IActionResult result = this.TasksControllerInstance.CreateTask(taskData);

            _taskStatusServiceMock.Verify(service => service.GetStatus(It.IsAny <string>()), Times.Once);

            Assert.IsType <OkResult>(result);
        }
        public void CreateTaskReturnsNotFoundIfStatusNotFound()
        {
            var taskData = new TaskCreateUpdateRequestDto()
            {
                Status = "status"
            };

            _taskStatusServiceMock.Setup(service => service.GetStatus(It.IsAny <string>()))
            .Returns(null as TaskStatus);

            IActionResult result = this.TasksControllerInstance.CreateTask(taskData);

            _taskStatusServiceMock.Verify(service => service.GetStatus(It.IsAny <string>()), Times.Once);

            Assert.IsType <NotFoundObjectResult>(result);
            Assert.Equal(taskData.Status, (result as NotFoundObjectResult)?.Value);
        }
示例#8
0
        public IActionResult CreateTask([FromBody] TaskCreateUpdateRequestDto taskData)
        {
            if (ModelState.IsValid)
            {
                var task = _mapper.Map <Task>(taskData);

                var newTaskStatus = _taskStatusService.GetStatus(taskData.Status);
                if (newTaskStatus == null)
                {
                    return(NotFound(taskData.Status));
                }

                task.Status = newTaskStatus;
                _taskService.Create(task);
                return(Ok());
            }

            return(BadRequest(ModelState));
        }