Example #1
0
        public async Task Should_Create()
        {
            var singleLevelTypeId = 5;
            var singleCategoryId  = 2;
            var templateCreate    = 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.CreateAsync(templateCreate);

            unitOfWorkMock.Verify(m => m.SaveAsync());
            repositoryMock.Verify(m => m.Create(It.Is <TestTemplate>(t =>
                                                                     t.Id == templateCreate.Id &&
                                                                     t.Title == templateCreate.Title &&
                                                                     t.Levels.Single().Description == templateCreate.Levels.Single().Description &&
                                                                     t.Levels.Single().Categories.Single().CategoryId == singleCategoryId &&
                                                                     t.Levels.Single().TaskTypes.Single().TaskTypeId == singleLevelTypeId)));
            repositoryMock.VerifyNoOtherCalls();
        }
Example #2
0
        public async Task <IActionResult> Create([FromForm] TestTemplateDTO template)
        {
            await testTemplateService.CreateAsync(template);

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