示例#1
0
        public void SetStatusReturnsOkOnChangeStatusSuccess()
        {
            var setStatusData = new TaskSetStatusRequestDto()
            {
                Status = "test status",
                Tasks  = TestValuesProvider.GetTaskListItems()
            };
            List <Task> mappedTestTasks = TestValuesProvider.GetTasks();
            var         foundStatus     = new TaskStatus()
            {
                Label = setStatusData.Status
            };

            _taskServiceMock.Setup(service => service.GetTasks(It.IsAny <IEnumerable <int> >()))
            .Returns(mappedTestTasks);
            _taskServiceMock.Setup(service => service.GetStatusByLabel(setStatusData.Status))
            .Returns(foundStatus);

            IActionResult result = this.TasksControllerInstance.SetStatus(setStatusData);

            _taskServiceMock.Verify(service => service.GetTasks(It.IsAny <IEnumerable <int> >()), Times.Once);
            _taskServiceMock.Verify(service => service.GetStatusByLabel(setStatusData.Status), Times.Once);
            _taskServiceMock.Verify(service => service.ChangeStatus(mappedTestTasks, foundStatus), Times.Once);

            Assert.IsType <OkObjectResult>(result);
        }
示例#2
0
        public void SetStatusReturnsBadRequestIfModelStateHasErrors()
        {
            var setStatusData = new TaskSetStatusRequestDto()
            {
                Status = "test status",
                Tasks  = TestValuesProvider.GetTaskListItems()
            };
            TasksController controller = this.TasksControllerInstance;

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

            IActionResult result = controller.SetStatus(setStatusData);

            Assert.IsType <BadRequestObjectResult>(result);
        }
示例#3
0
        public IActionResult SetStatus([FromBody] TaskSetStatusRequestDto setStatusData)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var taskIdsForUpdate = setStatusData.Tasks
                                   .Where(task => task.Checked == true)
                                   .Select(task => task.Id);
            var taskEntitiesForUpdate = _taskService.GetTasks(taskIdsForUpdate);
            var status = _taskService.GetStatusByLabel(setStatusData.Status);

            if (status == null)
            {
                return(NotFound(setStatusData.Status));
            }

            return(Ok(_taskService.ChangeStatus(taskEntitiesForUpdate, status)));
        }
示例#4
0
        public void SetStatusReturnsNotFoundWhenStatusNotExists()
        {
            var setStatusData = new TaskSetStatusRequestDto()
            {
                Status = "test status",
                Tasks  = TestValuesProvider.GetTaskListItems()
            };
            List <Task> mappedTestTasks = TestValuesProvider.GetTasks();

            _taskServiceMock.Setup(service => service.GetTasks(It.IsAny <IEnumerable <int> >()))
            .Returns(mappedTestTasks);
            _taskServiceMock.Setup(service => service.GetStatusByLabel(setStatusData.Status))
            .Returns(null as TaskStatus);

            IActionResult result = this.TasksControllerInstance.SetStatus(setStatusData);

            _taskServiceMock.Verify(service => service.GetTasks(It.IsAny <IEnumerable <int> >()), Times.Once);
            _taskServiceMock.Verify(service => service.GetStatusByLabel(setStatusData.Status), Times.Once);
            _taskServiceMock.Verify(service => service.ChangeStatus(It.IsAny <IEnumerable <Task> >(), It.IsAny <TaskStatus>()), Times.Never);

            Assert.IsType <NotFoundObjectResult>(result);
            Assert.Equal(setStatusData.Status, (result as NotFoundObjectResult)?.Value);
        }