Beispiel #1
0
        public void SaveTaskModify_WhenSetTaskModify_ChangeTaskWithoutChangeAnythingElse()
        {
            //arrange
            MiniAutoFixture miniAutoFixture = new MiniAutoFixture();

            miniAutoFixture.Initialize();
            int  id      = miniAutoFixture.CreateInt();
            bool deleted = miniAutoFixture.CreateBoolean();
            bool done    = miniAutoFixture.CreateBoolean();

            Task task = new Task
            {
                Id      = id,
                Done    = done,
                Deleted = deleted
            };

            TaskModify taskModify = new TaskModify
            {
                Date = miniAutoFixture.CreateDatetime(),
                Text = miniAutoFixture.CreateString()
            };

            //action
            ExtensionMethods.SaveTaskModify(task, taskModify);

            //assert
            Assert.Equal(id, task.Id);
            Assert.Equal(taskModify.Date, task.Date);
            Assert.Equal(taskModify.Text, task.Text);
            Assert.Equal(done, task.Done);
            Assert.Equal(deleted, task.Deleted);
        }
Beispiel #2
0
        public void SaveUserModify_WhenSetUserModify_ChangeUserWithoutChangeAnythingElse()
        {
            MiniAutoFixture miniAutoFixture = new MiniAutoFixture();

            miniAutoFixture.Initialize();

            int  id      = miniAutoFixture.CreateInt();
            bool deleted = miniAutoFixture.CreateBoolean();
            User user    = new User {
                Id      = id,
                Deleted = deleted,
            };

            UserModify userModify = new UserModify {
                Name    = miniAutoFixture.CreateString(),
                Surname = miniAutoFixture.CreateString()
            };

            // action
            ExtensionMethods.SaveUserModify(user, userModify);

            // assert
            Assert.Equal(id, user.Id);
            Assert.Equal(userModify.Name, user.Name);
            Assert.Equal(userModify.Surname, user.Surname);
            Assert.Equal(deleted, user.Deleted);
        }
        public void Put_MockModifyRepository_AndUpdateTask()
        {
            //assign
            MiniAutoFixture miniAutoFixture = new MiniAutoFixture();

            miniAutoFixture.Initialize();
            int idTask           = miniAutoFixture.CreateInt();
            var viewRepository   = new Mock <IViewRepository>();
            var modifyRepository = new Mock <IModifyRepository>();
            var logger           = new Mock <ILogger <TaskController> >();

            TaskModify taskModify = DomainTools.CreateTaskModify(miniAutoFixture);
            TaskView   taskView   = new TaskView
            {
                Id      = idTask,
                Text    = taskModify.Text,
                Date    = taskModify.Date,
                Deleted = miniAutoFixture.CreateBoolean(),
                Done    = miniAutoFixture.CreateBoolean()
            };

            modifyRepository.Setup(a => a.UpdateTask(It.IsAny <int>(), It.IsAny <TaskModify>())).Returns <int, TaskModify>((a, b) => taskView);

            TaskController taskController = new TaskController(viewRepository.Object, modifyRepository.Object, logger.Object);

            //action
            IActionResult actionResult = taskController.Put(idTask, taskModify);

            //assert
            var okResult   = Assert.IsType <OkObjectResult>(actionResult);
            var returnTask = Assert.IsType <TaskView>(okResult.Value);

            modifyRepository.Verify(a => a.UpdateTask(It.Is <int>(val => val == idTask), It.Is <TaskModify>(val => val == taskModify)), Times.Once);
            Assert.NotNull(returnTask);
            Assert.Equal(idTask, returnTask.Id);
            Assert.Equal(taskModify.Text, returnTask.Text);
            Assert.Equal(taskModify.Date, returnTask.Date);
            Assert.Equal(taskView.Deleted, returnTask.Deleted);
            Assert.Equal(taskView.Done, returnTask.Done);
        }
        public void Put_MockUserRepository_AndUpdateUser()
        {
            //assign
            MiniAutoFixture miniAutoFixture = new MiniAutoFixture();

            miniAutoFixture.Initialize();
            int idUser = miniAutoFixture.CreateInt();

            miniAutoFixture.Initialize();
            UserModify userModify = DomainTools.CreateUserModify(miniAutoFixture);
            UserView   userView   = new UserView
            {
                Id      = idUser,
                Name    = userModify.Name,
                Surname = userModify.Surname,
                Deleted = miniAutoFixture.CreateBoolean()
            };
            var viewRepository   = new Mock <IViewRepository>();
            var modifyRepository = new Mock <IModifyRepository>();
            var logger           = new Mock <ILogger <UserController> >();

            modifyRepository.Setup(a => a.UpdateUser(It.IsAny <int>(), It.IsAny <UserModify>())).Returns <int, UserModify>((a, b) => userView);
            UserController userController = new UserController(viewRepository.Object, modifyRepository.Object, logger.Object);


            //action
            IActionResult actionResult = userController.Put(idUser, userModify);

            //assert
            modifyRepository.Verify
            (
                a =>
                a.UpdateUser
                (
                    It.Is <int>(val => val == idUser),
                    It.Is <UserModify>
                        (val => val.Name == userModify.Name && val.Surname == userModify.Surname)
                )
                , Times.Once
            );

            var okResult   = Assert.IsType <OkObjectResult>(actionResult);
            var returnUser = Assert.IsType <UserView>(okResult.Value);

            Assert.NotNull(returnUser);
            Assert.Equal(userModify.Name, returnUser.Name);
            Assert.Equal(userModify.Surname, returnUser.Surname);
            Assert.Equal(idUser, returnUser.Id);
            Assert.Equal(userView.Deleted, returnUser.Deleted);
        }
        public void DoneTask_MockDbSetTask_AndGetDoneTask()
        {
            //assign
            int             idTaskModify    = 1;
            MiniAutoFixture miniAutoFixture = new MiniAutoFixture();

            miniAutoFixture.Initialize();
            User              user            = DbSetTools.CreateUser(1, miniAutoFixture);
            List <Task>       tasksCollection = DbSetTools.CreateTaskList(1, user, 10, miniAutoFixture);
            IQueryable <Task> tasks           = tasksCollection.AsQueryable();
            var mockDbSetTask = new Mock <DbSet <Task> >();

            mockDbSetTask.As <IQueryable <Task> >().Setup(m => m.Provider).Returns(tasks.Provider);
            mockDbSetTask.As <IQueryable <Task> >().Setup(m => m.Expression).Returns(tasks.Expression);
            mockDbSetTask.As <IQueryable <Task> >().Setup(m => m.ElementType).Returns(tasks.ElementType);
            mockDbSetTask.As <IQueryable <Task> >().Setup(m => m.GetEnumerator()).Returns(tasks.GetEnumerator());

            var mockContext = new Mock <OrganizerContext>();

            mockContext.Setup(c => c.Tasks).Returns(mockDbSetTask.Object);
            var logger = new Mock <ILogger <ModifyRepository> >();
            ModifyRepository modifyRepository = new ModifyRepository(mockContext.Object, logger.Object);
            bool             done             = miniAutoFixture.CreateBoolean();

            //action
            TaskView taskView = modifyRepository.DoneTask(idTaskModify, done);

            //assert
            Task taskModified = tasksCollection.Where(a => a.Id == idTaskModify).Single();

            mockContext.Verify(a => a.Attach(It.Is <Task>(task => task == taskModified)), Times.Once);
            mockContext.Verify(a => a.SaveChanges(), Times.Once);

            Assert.Equal(taskModified.Date, taskView.Date);
            Assert.Equal(taskModified.Text, taskView.Text);
            Assert.Equal(taskModified.Deleted, taskView.Deleted);
            Assert.Equal(done, taskView.Done);
            Assert.Equal(idTaskModify, taskView.Id);
        }
        public void UnDone_MockModifyRepository_AndDoneTask()
        {
            MiniAutoFixture miniAutoFixture = new MiniAutoFixture();

            miniAutoFixture.Initialize();
            int      idTask           = miniAutoFixture.CreateInt();
            var      viewRepository   = new Mock <IViewRepository>();
            var      modifyRepository = new Mock <IModifyRepository>();
            var      logger           = new Mock <ILogger <TaskController> >();
            bool     done             = false;
            TaskView taskView         = new TaskView
            {
                Id      = idTask,
                Text    = miniAutoFixture.CreateString(),
                Date    = miniAutoFixture.CreateDatetime(),
                Deleted = miniAutoFixture.CreateBoolean(),
                Done    = done
            };

            modifyRepository.Setup(a => a.DoneTask(It.IsAny <int>(), It.IsAny <bool>())).Returns <int, bool>((a, b) => taskView);
            TaskController taskController = new TaskController(viewRepository.Object, modifyRepository.Object, logger.Object);


            IActionResult actionResult = taskController.UnDone(idTask);

            //assert
            var okResult   = Assert.IsType <OkObjectResult>(actionResult);
            var returnTask = Assert.IsType <TaskView>(okResult.Value);

            modifyRepository.Verify(a => a.DoneTask(It.Is <int>(val => val == idTask), It.Is <bool>(val => val == done)), Times.Once);
            Assert.NotNull(returnTask);
            Assert.Equal(idTask, returnTask.Id);
            Assert.Equal(taskView.Text, returnTask.Text);
            Assert.Equal(taskView.Date, returnTask.Date);
            Assert.Equal(taskView.Deleted, returnTask.Deleted);
            Assert.Equal(done, returnTask.Done);
        }