public IActionResult Create(int?templateId = null) { var test = new TestDTO(); var templates = testTemplateService .GetTemplatesSummary() .ToArray(); ViewData["Templates"] = templates .Select(template => new SelectListItem { Value = template.Id.ToString(), Text = template.Title }); templateId = templateId ?? templates.FirstOrDefault()?.Id; if (templateId.HasValue) { testService.BindToTemplate(test, templateId.Value); } return(View(test)); }
public void Should_Get_All_Active() { var templatesRepositoryMock = new Mock <IRepository <TestTemplate> >(); templatesRepositoryMock.Setup(m => m.GetAll()).Returns(() => new[] { new TestTemplate { Id = 1, Title = "1", Levels = new List <TestTemplateLevel>() }, new TestTemplate { Id = 2, Title = "2", Levels = new List <TestTemplateLevel> { new TestTemplateLevel { MaxComplexity = 3, TaskTypes = { new LevelTaskType { TaskType = new TaskType() } } } } }, new TestTemplate { Id = 3, Title = "3", Levels = new List <TestTemplateLevel> { new TestTemplateLevel { MinComplexity = 5, TaskTypes = { new LevelTaskType { TaskType = new TaskType() } } } } } }); var unitOfWorkMock = new Mock <IUnitOfWork>(); unitOfWorkMock.Setup(u => u.TestTemplates).Returns(() => templatesRepositoryMock.Object); var taskServiceMock = new Mock <ITaskSource>(); taskServiceMock.Setup(m => m.Filter(It.Is <TaskFilterDTO>(l => l.MinComplexity == 5 && l.TaskTypeIds.Any()))) .Returns(new TaskDTO[3]); taskServiceMock.Setup(m => m.Filter(It.Is <TaskFilterDTO>(l => l.MaxComplexity == 3 && l.TaskTypeIds.Any()))) .Returns(new TaskDTO[2]); var service = new TestTemplateService(taskServiceMock.Object, unitOfWorkMock.Object, mapper); var testTemplateListItems = service.GetTemplatesSummary().ToArray(); Assert.Equal(3, testTemplateListItems.GroupBy(t => t.Id).Count()); Assert.True(testTemplateListItems.All(t => t.Id.ToString() == t.Title)); Assert.Empty(testTemplateListItems[0].Levels); Assert.Equal(2, testTemplateListItems[1].Levels.Single().CountPerTypes.Sum(t => t.Count)); Assert.Equal(3, testTemplateListItems[2].Levels.Single().CountPerTypes.Sum(t => t.Count)); }
public IActionResult List() { var templateListItems = testTemplateService.GetTemplatesSummary(); return(View(templateListItems)); }