Ejemplo n.º 1
0
        public async Task Controller_GetTaskById_Test()
        {
            //arrange
            var task = new TaskAddEditViewModel()
            {
                Name       = "Concrete task",
                Comment    = "Task for test",
                PriorityId = Priority.High,
                DueDate    = DateTime.Now.AddDays(1)
            };

            var repositoryMock = new Mock <ITaskRepository>();

            repositoryMock.Setup(x => x.GetTask(It.IsAny <int>()))
            .Returns(Task.FromResult(task));
            var userServiceMock = new Mock <IUserService>();
            var controller      = new TasksApiController(repositoryMock.Object, userServiceMock.Object);

            //act
            var resultCorrectId = await controller.GetTaskById(12);

            var resultIncorrectId = await controller.GetTaskById(0);

            //assert
            Assert.IsNotNull(resultCorrectId);
            Assert.IsNotNull(resultIncorrectId);
            Assert.IsInstanceOfType(resultCorrectId, typeof(OkObjectResult));
            Assert.IsInstanceOfType(resultIncorrectId, typeof(BadRequestResult));
            Assert.AreEqual(task.Name, ((resultCorrectId as OkObjectResult).Value as TaskAddEditViewModel).Name);
            repositoryMock.Verify(x => x.GetTask(It.IsAny <int>()), Times.Once);
        }
Ejemplo n.º 2
0
        public async Task Controller_DeleteTask_Test()
        {
            //arrange
            var repositoryMock = new Mock <ITaskRepository>();

            repositoryMock.Setup(x => x.DeleteTask(14))
            .Returns(Task.FromResult(true));
            repositoryMock.Setup(x => x.DeleteTask(1))
            .Returns(Task.FromResult(false));
            repositoryMock.Setup(x => x.SaveChanges())
            .Returns(Task.FromResult(true));
            var userServiceMock = new Mock <IUserService>();
            var controller      = new TasksApiController(repositoryMock.Object, userServiceMock.Object);

            //act
            var resultIncorrect = await controller.DeleteTask(It.IsAny <int>());

            var resultCorrect = await controller.DeleteTask(14);

            var resultDataModifyError = await controller.DeleteTask(1);

            //assert
            Assert.IsNotNull(resultIncorrect);
            Assert.IsNotNull(resultCorrect);
            Assert.IsNotNull(resultDataModifyError);
            Assert.IsInstanceOfType(resultIncorrect, typeof(BadRequestResult));
            Assert.IsInstanceOfType(resultCorrect, typeof(OkResult));
            Assert.IsInstanceOfType(resultDataModifyError, typeof(BadRequestResult));
            repositoryMock.Verify(x => x.DeleteTask(It.IsAny <int>()), Times.Exactly(2));
            repositoryMock.Verify(x => x.SaveChanges(), Times.Once);
        }
Ejemplo n.º 3
0
        public async Task Controller_AddEditTest_Test()
        {
            //arrange
            TaskAddEditViewModel correctTask = new TaskAddEditViewModel
            {
                TaskId     = 14,
                Name       = "testName",
                DueDate    = DateTime.Now,
                Comment    = "comment",
                PriorityId = Priority.Low
            };
            TaskAddEditViewModel errorTask = new TaskAddEditViewModel
            {
                TaskId     = -1,
                Name       = "error",
                DueDate    = DateTime.Now,
                Comment    = "comment",
                PriorityId = Priority.Low
            };
            TaskAddEditViewModel incorrectTask = null;
            var repositoryMock = new Mock <ITaskRepository>();

            repositoryMock.Setup(x => x.AddEditTask(correctTask))
            .Returns(Task.FromResult(true));
            repositoryMock.Setup(x => x.AddEditTask(errorTask))
            .Returns(Task.FromResult(false));
            repositoryMock.Setup(x => x.SaveChanges())
            .Returns(Task.FromResult(true));
            var userServiceMock = new Mock <IUserService>();

            userServiceMock.Setup(x => x.GetCurrentUserId(It.IsAny <ClaimsPrincipal>()))
            .Returns(Task.FromResult(It.IsAny <string>()));
            var controller = new TasksApiController(repositoryMock.Object, userServiceMock.Object);

            //act
            var resultCorrectModel = await controller.AddEditTask(correctTask);

            var resultModelError = await controller.AddEditTask(incorrectTask);

            var resultDataSavingError = await controller.AddEditTask(errorTask);

            //assert
            Assert.IsNotNull(resultModelError);
            Assert.IsNotNull(resultCorrectModel);
            Assert.IsNotNull(resultDataSavingError);
            Assert.IsInstanceOfType(resultCorrectModel, typeof(OkResult));
            Assert.IsInstanceOfType(resultModelError, typeof(BadRequestResult));
            Assert.IsInstanceOfType(resultDataSavingError, typeof(BadRequestResult));
            repositoryMock.Verify(x => x.AddEditTask(It.IsAny <TaskAddEditViewModel>()), Times.Exactly(2));
            repositoryMock.Verify(x => x.SaveChanges(), Times.Once);
        }
Ejemplo n.º 4
0
        public async Task Controller_GetAllUsersTasks_Test()
        {
            //arrange
            var collection = new List <TaskCollectionViewModel>
            {
                new TaskCollectionViewModel()
                {
                    Name      = "A test",
                    DueDate   = new DateTime(2017, 5, 21),
                    IsOverdue = true
                },
                new TaskCollectionViewModel()
                {
                    Name = "b test"
                },
                new TaskCollectionViewModel()
                {
                    Name      = "c test",
                    IsOverdue = true
                },
            };
            var repositoryMock = new Mock <ITaskRepository>();

            repositoryMock.Setup(x => x.GetAllUserTasks(It.IsAny <string>()))
            .Returns(Task.FromResult(collection.AsEnumerable()));
            var userServiceMock = new Mock <IUserService>();

            userServiceMock.Setup(x => x.GetCurrentUserId(It.IsAny <ClaimsPrincipal>()))
            .Returns(Task.FromResult(It.IsAny <string>()));
            var controller = new TasksApiController(repositoryMock.Object, userServiceMock.Object);

            //act
            var result = await controller.GetUserTasks();

            //assert
            Assert.IsNotNull(result);
            Assert.IsInstanceOfType(result, typeof(OkObjectResult));
            Assert.AreEqual(3, ((result as OkObjectResult).Value as IEnumerable <TaskCollectionViewModel>).Count());
            repositoryMock.Verify(x => x.GetAllUserTasks(It.IsAny <string>()), Times.Once);
        }