public void CreateTaskTest_ReturnCreatedTask()
        {
            #region Arrange
            User user = new User(1, "Name1", "Email1", "Pass1");
            CreateTodoTaskDTO createToDoTaskDTO = new CreateTodoTaskDTO
            {
                ToDoListId  = 1,
                Title       = "Title1",
                Description = "Description1"
            };
            TodoList todoList = new TodoList
            {
                Id     = 1,
                UserId = 1,
                Title  = "List1"
            };
            TodoTask createdTodoTask = new TodoTask(createToDoTaskDTO);

            Extensions.Extensions.IsUnitTest = true;

            model = new Mock <IRepository>();
            model.Setup(repo => repo.GetUserById(user.Id)).Returns(Task.FromResult(user));
            model.Setup(repo => repo.GetTodoListByListIdAndUserId(
                            createToDoTaskDTO.ToDoListId, user.Id)).Returns(Task.FromResult(todoList));
            model.Setup(repo => repo.AddTodoTask(createdTodoTask));
            #endregion

            // Act
            controller = new TodoTasksController(model.Object);
            var result = controller.CreateTask(createToDoTaskDTO);

            // Assert
            var okObjectResult = Assert.IsType <CreatedResult>(result.Result);
            Assert.Equal(createdTodoTask.Id, (okObjectResult.Value as TodoTaskDTO).Id);
        }
        public void CreateTaskTest_ReturnUserNotFound()
        {
            #region Arrange
            User user = null;
            CreateTodoTaskDTO createToDoTaskDTO = new CreateTodoTaskDTO
            {
                ToDoListId  = 1,
                Title       = "Title1",
                Description = "Description1"
            };
            TodoList todoList = new TodoList
            {
                Id     = 1,
                UserId = 1,
                Title  = "List1"
            };
            TodoTask createdTodoTask = new TodoTask(createToDoTaskDTO);
            int      userId          = 2;

            Extensions.Extensions.IsUnitTest = true;

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

            // Act
            controller = new TodoTasksController(model.Object);
            var result = controller.CreateTask(createToDoTaskDTO);

            // Assert
            var okObjectResult = Assert.IsType <NotFoundObjectResult>(result.Result);
        }
        public void CreateTaskTest_ReturnBadRequestInvalidModel()
        {
            // Arrange
            User user = new User(1, "Name1", "Email1", "Pass1");
            CreateTodoTaskDTO createToDoTaskDTO = null;

            Extensions.Extensions.IsUnitTest = true;

            model = new Mock <IRepository>();

            // Act
            controller = new TodoTasksController(model.Object);
            var result = controller.CreateTask(createToDoTaskDTO);

            // Assert
            var okObjectResult = Assert.IsType <BadRequestObjectResult>(result.Result);
        }