public void SetTaskStatusTest_ReturnTodoTaskNotFound()
        {
            #region Arrange
            User user = new User(1, "Name1", "Email1", "Pass1");

            TodoList todoList = new TodoList
            {
                Id     = 1,
                UserId = 1,
                Title  = "List1"
            };

            TodoTask todoTask = null;

            TodoTask.Status todoTaskStatus = TodoTask.Status.DONE;
            user.TodoLists.Add(todoList);

            Extensions.Extensions.IsUnitTest = true;

            model = new Mock <IRepository>();
            model.Setup(repo => repo.GetUserById(user.Id)).Returns(Task.FromResult(user));
            model.Setup(repo => repo.GetTodoTaskById(2))
            .Returns(Task.FromResult(todoTask));
            model.Setup(repo => repo.UpdateTodoTask(todoTask));
            #endregion

            #region Act
            controller = new TodoTasksController(model.Object);
            var result = controller.SetTaskStatus(2, todoTaskStatus);
            #endregion

            #region Assert
            var okObjectResult = Assert.IsType <NotFoundObjectResult>(result.Result);
            #endregion
        }
        public void SetTaskStatusTest_ReturnCorrect()
        {
            #region Arrange
            User user = new User(1, "Name1", "Email1", "Pass1");

            TodoList todoList = new TodoList
            {
                Id     = 1,
                UserId = 1,
                Title  = "List1"
            };

            TodoTask todoTask = new TodoTask
            {
                Id          = 1,
                Description = "Description1",
                Title       = "List1",
                ToDoListId  = 1,
                TaskStatus  = TodoTask.Status.AWAIT
            };

            TodoTask.Status todoTaskStatus = TodoTask.Status.DONE;
            user.TodoLists.Add(todoList);

            Extensions.Extensions.IsUnitTest = true;

            model = new Mock <IRepository>();
            model.Setup(repo => repo.GetUserById(user.Id)).Returns(Task.FromResult(user));
            model.Setup(repo => repo.GetTodoTaskById(todoList.Id))
            .Returns(Task.FromResult(todoTask));
            model.Setup(repo => repo.UpdateTodoTask(todoTask));
            #endregion

            #region Act
            controller = new TodoTasksController(model.Object);
            var result = controller.SetTaskStatus(todoTask.Id, todoTaskStatus);
            #endregion

            #region Assert
            var okObjectResult = Assert.IsType <OkObjectResult>(result.Result);
            Assert.Equal(todoTask.TaskStatus, (okObjectResult.Value as TodoTaskDTO).TaskStatus);
            #endregion
        }
        public void SetTaskStatusTest_ReturnUserNotFound()
        {
            #region Arrange
            User user   = null;
            int  userId = 2;

            TodoList todoList = new TodoList
            {
                Id     = 1,
                UserId = 1,
                Title  = "List1"
            };

            TodoTask todoTask = new TodoTask
            {
                Id          = 1,
                Description = "Description1",
                Title       = "List1",
                ToDoListId  = 1,
                TaskStatus  = TodoTask.Status.AWAIT
            };

            TodoTask.Status todoTaskStatus = TodoTask.Status.DONE;

            Extensions.Extensions.IsUnitTest = true;

            model = new Mock <IRepository>();
            model.Setup(repo => repo.GetUserById(userId)).Returns(Task.FromResult(user));
            model.Setup(repo => repo.GetTodoTaskById(todoList.Id))
            .Returns(Task.FromResult(todoTask));
            model.Setup(repo => repo.UpdateTodoTask(todoTask));
            #endregion

            #region Act
            controller = new TodoTasksController(model.Object);
            var result = controller.SetTaskStatus(todoTask.Id, todoTaskStatus);
            #endregion

            #region Assert
            var okObjectResult = Assert.IsType <NotFoundObjectResult>(result.Result);
            #endregion
        }
        public void SetTaskStatusTest_ReturnBadRequestModelIsInvalid()
        {
            #region Arrange
            int             taskId = -1;
            TodoTask.Status status = TodoTask.Status.CANCELED;

            Extensions.Extensions.IsUnitTest = true;

            model = new Mock <IRepository>();
            #endregion

            #region Act
            controller = new TodoTasksController(model.Object);
            var result = controller.SetTaskStatus(taskId, status);
            #endregion

            #region Assert
            var okObjectResult = Assert.IsType <BadRequestObjectResult>(result.Result);
            #endregion
        }
Example #5
0
        private async Task <TodoTaskDTO> SetTodoTaskStatusTest(int todoTaskId
                                                               , TodoTask.Status taskStatus)
        {
            // Arrange
            string url = "/api/TodoTasks/" + todoTaskId + "/setstatus/" + taskStatus;

            // Act
            var method   = new HttpMethod("PATCH");
            var request  = new HttpRequestMessage(method, url);
            var response = await _client.SendAsync(request);

            // Assert
            response.EnsureSuccessStatusCode();
            var responseString = await response.Content.ReadAsStringAsync();

            TodoTaskDTO updatedTodoTaskDTO
                = JsonConvert.DeserializeObject <TodoTaskDTO>(responseString);

            Assert.NotNull(updatedTodoTaskDTO);
            Assert.Equal(updatedTodoTaskDTO.TaskStatus, taskStatus);
            Assert.Equal(updatedTodoTaskDTO.Id, todoTaskId);

            return(updatedTodoTaskDTO);
        }