Exemple #1
0
        public async Task Should_Mark_As_Not_Active_On_Delete()
        {
            var taskForDelete = new Entities.Task
            {
                Id       = 1,
                IsActive = true
            };

            var repositoryMock = new Mock <IRepository <Entities.Task> >();

            repositoryMock.Setup(u => u.Get(1)).Returns(taskForDelete);

            var answersRepositoryMock = new Mock <IRepository <Entities.TaskAnswer> >();

            answersRepositoryMock.Setup(u => u.Find(It.IsAny <Expression <Func <Entities.TaskAnswer, bool> > >()))
            .Returns(new Entities.TaskAnswer());

            var unitOfWorkMock = new Mock <IUnitOfWork>();

            unitOfWorkMock.Setup(u => u.Tasks).Returns(() => repositoryMock.Object);
            unitOfWorkMock.Setup(u => u.Answers).Returns(() => answersRepositoryMock.Object);

            var service = new TaskService(unitOfWorkMock.Object, null);

            await service.DeleteByIdAsync(1);

            unitOfWorkMock.Verify(m => m.SaveAsync());
            repositoryMock.Verify(m => m.Get(1));
            repositoryMock.VerifyNoOtherCalls();
            Assert.False(taskForDelete.IsActive);
        }
Exemple #2
0
        public async Task Should_Delete_From_Repository_On_Delete()
        {
            var taskForDelete = new Entities.Task
            {
                Id = 1
            };

            var repositoryMock = new Mock <IRepository <Entities.Task> >();

            var answersRepositoryMock = new Mock <IRepository <Entities.TaskAnswer> >();

            answersRepositoryMock.Setup(u => u.Find(It.IsAny <Expression <Func <Entities.TaskAnswer, bool> > >()))
            .Returns((Entities.TaskAnswer)null);

            var unitOfWorkMock = new Mock <IUnitOfWork>();

            unitOfWorkMock.Setup(u => u.Tasks).Returns(() => repositoryMock.Object);
            unitOfWorkMock.Setup(u => u.Answers).Returns(() => answersRepositoryMock.Object);

            var service = new TaskService(unitOfWorkMock.Object, null);

            await service.DeleteByIdAsync(1);

            unitOfWorkMock.Verify(m => m.SaveAsync());
            repositoryMock.Verify(u => u.Delete(1));
            repositoryMock.VerifyNoOtherCalls();
        }
Exemple #3
0
        public async Task Should_Create_New_And_Mark_Old_On_Updated()
        {
            var oldTask = new Entities.Task
            {
                Id         = 1,
                IsActive   = true,
                CategoryId = 1,
                TypeId     = 1,
                Complexity = 1,
                Content    = "Sample"
            };
            var updatedDtoItem = mapper.Map <Entities.Task, TaskDTO>(oldTask);

            updatedDtoItem.Content = "Sample 2";

            var repositoryMock = new Mock <IRepository <Entities.Task> >();

            repositoryMock.Setup(u => u.Get(1)).Returns(oldTask);

            var answersRepositoryMock = new Mock <IRepository <Entities.TaskAnswer> >();

            answersRepositoryMock.Setup(u => u.Find(It.IsAny <Expression <Func <Entities.TaskAnswer, bool> > >()))
            .Returns(new Entities.TaskAnswer());

            var unitOfWorkMock = new Mock <IUnitOfWork>();

            unitOfWorkMock.Setup(u => u.Tasks).Returns(() => repositoryMock.Object);
            unitOfWorkMock.Setup(u => u.Answers).Returns(() => answersRepositoryMock.Object);

            var service = new TaskService(unitOfWorkMock.Object, mapper);

            await service.UpdateAsync(updatedDtoItem);

            repositoryMock.Verify(m => m.Get(1));
            repositoryMock.Verify(m => m.Update(It.Is <Entities.Task>(t =>
                                                                      !t.IsActive && t.Content == oldTask.Content)));
            repositoryMock.Verify(m => m.Create(It.Is <Entities.Task>(t =>
                                                                      t.IsActive &&
                                                                      t.Content == updatedDtoItem.Content &&
                                                                      t.Complexity == updatedDtoItem.Complexity &&
                                                                      t.TypeId == updatedDtoItem.TypeId &&
                                                                      t.CategoryId == updatedDtoItem.CategoryId &&
                                                                      t.PreviousVersion.Id == oldTask.Id)));
            repositoryMock.VerifyNoOtherCalls();
            unitOfWorkMock.Verify(m => m.SaveAsync());
            Assert.False(oldTask.IsActive);
        }
Exemple #4
0
        public async Task Should_Not_Make_Any_Change_If_Not_Updated()
        {
            var oldTask = new Entities.Task
            {
                Id         = 1,
                IsActive   = true,
                CategoryId = 1,
                TypeId     = 1,
                Complexity = 1,
                Content    = "Sample"
            };
            var notUpdatedDtoItem = mapper.Map <Entities.Task, TaskDTO>(oldTask);

            var repositoryMock = new Mock <IRepository <Entities.Task> >();

            repositoryMock.Setup(u => u.Get(1)).Returns(oldTask);

            var answersRepositoryMock = new Mock <IRepository <Entities.TaskAnswer> >();

            answersRepositoryMock.Setup(u => u.Find(It.IsAny <Expression <Func <Entities.TaskAnswer, bool> > >()))
            .Returns(new Entities.TaskAnswer());

            var unitOfWorkMock = new Mock <IUnitOfWork>();

            unitOfWorkMock.Setup(u => u.Tasks).Returns(() => repositoryMock.Object);
            unitOfWorkMock.Setup(u => u.Answers).Returns(() => answersRepositoryMock.Object);

            var service = new TaskService(unitOfWorkMock.Object, mapper);

            await service.UpdateAsync(notUpdatedDtoItem);

            repositoryMock.Verify(m => m.Get(1));
            repositoryMock.VerifyNoOtherCalls();
            unitOfWorkMock.VerifyGet(m => m.Tasks);
            unitOfWorkMock.VerifyGet(m => m.Answers);
            unitOfWorkMock.VerifyNoOtherCalls();
            Assert.True(oldTask.IsActive);
        }
Exemple #5
0
        public async Task Should_Create_New_And_Get_Item()
        {
            var newTask = new TaskDTO
            {
                Id         = 1,
                IsActive   = true,
                CategoryId = 1,
                TypeId     = 1,
                Complexity = 1,
                Content    = "Sample"
            };

            Entities.Task tempTask       = null;
            var           repositoryMock = new Mock <IRepository <Entities.Task> >();

            repositoryMock.Setup(r => r.Create(It.IsAny <Entities.Task>()))
            .Callback(new Action <Entities.Task>(task => tempTask = task));
            repositoryMock.Setup(r => r.Get(It.IsAny <int>()))
            .Returns(() => tempTask);

            var unitOfWorkMock = new Mock <IUnitOfWork>();

            unitOfWorkMock.Setup(u => u.Tasks).Returns(() => repositoryMock.Object);

            var service = new TaskService(unitOfWorkMock.Object, mapper);

            await service.CreateAsync(newTask);

            var createdTask = service.GetById(1);

            Assert.True(createdTask.IsActive);
            Assert.Equal(newTask.IsActive, createdTask.IsActive);
            Assert.Equal(newTask.CategoryId, createdTask.CategoryId);
            Assert.Equal(newTask.TypeId, createdTask.TypeId);
            Assert.Equal(newTask.Complexity, createdTask.Complexity);
            Assert.Equal(newTask.Content, createdTask.Content);
        }
Exemple #6
0
        public void Should_Get_Item()
        {
            var taskGet = new Entities.Task
            {
                Id         = 1,
                IsActive   = true,
                CategoryId = 1,
                TypeId     = 1,
                Complexity = 1,
                Content    = "Sample"
            };

            var repositoryMock = new Mock <IRepository <Entities.Task> >();

            repositoryMock.Setup(u => u.Get(1)).Returns(taskGet);

            var unitOfWorkMock = new Mock <IUnitOfWork>();

            unitOfWorkMock.Setup(u => u.Tasks).Returns(() => repositoryMock.Object);

            var service = new TaskService(unitOfWorkMock.Object, mapper);

            var actualGet = service.GetById(1);

            Assert.NotNull(actualGet);
            Assert.Equal(taskGet.Content, actualGet.Content);
            Assert.True(actualGet.IsActive);
            Assert.Equal(taskGet.IsActive, actualGet.IsActive);
            Assert.Equal(taskGet.CategoryId, actualGet.CategoryId);
            Assert.Equal(taskGet.TypeId, actualGet.TypeId);
            Assert.Equal(taskGet.Complexity, actualGet.Complexity);
            Assert.Equal(taskGet.Content, actualGet.Content);

            repositoryMock.Verify(m => m.Get(1));
            repositoryMock.VerifyNoOtherCalls();
        }
 public async Task UpdateTask(int id, Entities.Task newTask)
 {
     GetTaskById(id).Result.Name        = newTask.Name;
     GetTaskById(id).Result.Description = newTask.Description;
 }
 public async Task CreateTask(Entities.Task task)
 {
     await _dbContext.Taskses.AddAsync(task);
 }