public async Task Repository_AddTask_Test() { //arrange MapperHelper.InitializeMapper(); var vm = new TaskAddEditViewModel() { Name = "test task", Comment = "test comment", PriorityId = Priority.High }; var user = new ProjectUser { Id = "qwer" }; var contextMock = new Mock <IProjectContext>(); var dbsetMock = CreateDbSetMock(new List <TaskModel>()); contextMock.Setup(x => x.Tasks).Returns(dbsetMock.Object); var userServiceMock = new Mock <IUserService>(); userServiceMock.Setup(x => x.GetUserById(It.IsAny <string>())) .Returns(Task.FromResult(user)); var repository = new TaskRepository(contextMock.Object, userServiceMock.Object); //act var result = await repository.AddEditTask(vm); //assert Assert.IsTrue(result); Assert.AreEqual(1, contextMock.Object.Tasks.Count(), "Object wasn't added to DbSet"); Assert.IsNotNull(contextMock.Object.Tasks.SingleOrDefault(), "Object was added to DbSet more than one time"); }
public async Task Repository_EditTask_Test() { //arrange MapperHelper.InitializeMapper(); var vm = new TaskAddEditViewModel { TaskId = 3, Name = "Edited name", Comment = "edited comment", DueDate = DateTime.UtcNow.AddDays(2), PriorityId = Priority.Medium }; var task = new TaskModel { TaskId = 3, Name = "not edited name", Comment = "not edited comment", PriorityId = Priority.High, DueDate = DateTime.UtcNow }; var user = new ProjectUser { Id = "qwer" }; var sourceList = new List <TaskModel>() { task }; var contextMock = new Mock <IProjectContext>(); contextMock.Setup(x => x.Tasks).Returns(CreateDbSetMock(sourceList).Object); var userServiceMock = new Mock <IUserService>(); userServiceMock.Setup(x => x.GetUserById(It.IsAny <string>())) .Returns(Task.FromResult(user)); var repository = new TaskRepository(contextMock.Object, userServiceMock.Object); //act var result = await repository.AddEditTask(vm); //assert Assert.IsTrue(result); var editedObj = contextMock.Object.Tasks.FirstOrDefault(x => x.TaskId == vm.TaskId); Assert.AreEqual(vm.Name, editedObj.Name); Assert.AreEqual(vm.Comment, editedObj.Comment); Assert.AreEqual(vm.DueDate, editedObj.DueDate); Assert.AreEqual(vm.PriorityId, editedObj.PriorityId); }