Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        public async Task <IActionResult> Edit([FromForm] TestTemplateDTO template)
        {
            await testTemplateService.UpdateAsync(template);

            return(RedirectToAction(nameof(List)));
        }