public async Task Should_Update() { var singleLevelTypeId = 5; var singleCategoryId = 2; var templateUpdate = new TestTemplateDTO { Id = 1, Title = "Sample", Levels = { new TestTemplateLevelDTO { Description = "Level desc", Filter = new TaskFilterDTO { TaskTypeIds ={ singleLevelTypeId }, CategoryIds ={ singleCategoryId } } } } }; var repositoryMock = new Mock <IRepository <TestTemplate> >(); var unitOfWorkMock = new Mock <IUnitOfWork>(); unitOfWorkMock.Setup(u => u.TestTemplates).Returns(() => repositoryMock.Object); var service = new TestTemplateService(null, unitOfWorkMock.Object, mapper); await service.UpdateAsync(templateUpdate); unitOfWorkMock.Verify(m => m.SaveAsync()); repositoryMock.Verify(m => m.Update(It.Is <TestTemplate>(t => t.Id == templateUpdate.Id && t.Title == templateUpdate.Title && t.Levels.Single().Description == templateUpdate.Levels.Single().Description && t.Levels.Single().TaskTypes.Single().TaskTypeId == singleLevelTypeId && t.Levels.Single().Categories.Single().CategoryId == singleCategoryId))); repositoryMock.VerifyNoOtherCalls(); }
public async Task <IActionResult> Edit([FromForm] TestTemplateDTO template) { await testTemplateService.UpdateAsync(template); return(RedirectToAction(nameof(List))); }