public void AddSkillCategory_Post_Test() { // Act var uow = new UnitOfWorkFakeFactory().Uow.Object; var paramUser = new AddSkillCategoryModel() { Texts = new List <TextModel>() { new TextModel() { Language = uow.LanguagesRepository.Get().ToList()[0], Value = "NewSkillCat.fr" }, new TextModel() { Language = uow.LanguagesRepository.Get().ToList()[1], Value = "NewSkillCat.en" } } }; var expected = paramUser.ToDto(uow.LanguagesRepository.Get().ToList()); expected.Id = uow.SkillCategoriesRepository.Get().Count() + 1; var nbGrades = uow.SkillCategoriesRepository.Get().ToList().Count; var result = new IntroductionController(uow).AddSkillCategory(paramUser) as RedirectToRouteResult; // Assert Assert.IsNotNull(result); Assert.AreEqual(result.RouteValues["Action"], nameof(IntroductionController.ShowSkills)); Assert.AreEqual(nbGrades + 1, uow.SkillCategoriesRepository.Get().Count()); AssertExtension.PropertyValuesAreEquals(expected, uow.SkillCategoriesRepository.Get().Last()); }
public ActionResult AddSkillCategory(AddSkillCategoryModel model) { if (ModelState.IsValid) { _uow.SkillCategoriesRepository.Insert(model.ToDto(_uow.LanguagesRepository.Get().ToList())); _uow.Save(); return(RedirectToAction(nameof(ShowSkills))); } return(RedirectToAction(nameof(AddSkillCategory))); }
public static SkillCategory ToDto(this AddSkillCategoryModel model, List <Language> languages) { var newCategory = new SkillCategory { Texts = model.Texts.ToDto(languages), DisplayPriority = model.DisplayPriority, }; return(newCategory); }
public static AddSkillCategoryModel ToDto(this SkillCategory model) { var dto = new AddSkillCategoryModel() { Id = model.Id, DisplayPriority = model.DisplayPriority, Texts = model.Texts.ToDto(), Skills = new List <SkillModel>(model.Skills.Select(x => x.ToDto())) }; return(dto); }
public void AddSkillCategory_Get_Test() { // Act var uow = new UnitOfWorkFakeFactory().Uow.Object; var controller = new IntroductionController(uow); var result = controller.AddSkillCategory() as ViewResult; var expected = new AddSkillCategoryModel { Texts = uow.LanguagesRepository.Get() .Select(language => new TextModel() { Language = language }) .ToList() }; // Assert Assert.IsNotNull(result); AssertExtension.PropertyValuesAreEquals(expected, result.Model); }
public void Should_Transform_SkillCategory_To_AddSkillCategoryModel() { var expected = new AddSkillCategoryModel() { Id = 1, DisplayPriority = 1, Texts = new List <TextModel>() { new TextModel() { Language = _languages[0], Value = "skc1.fr" }, new TextModel() { Language = _languages[1], Value = "skc1.en" } }, Skills = new List <SkillModel>() { new SkillModel() { KnowledgePercent = 50, Texts = new List <TextModel>() { new TextModel() { Language = _languages[0], Value = "sk1" }, new TextModel() { Language = _languages[1], Value = "sk2" } } }, new SkillModel() { KnowledgePercent = 60, Texts = new List <TextModel>() { new TextModel() { Language = _languages[0], Value = "sk3" }, new TextModel() { Language = _languages[1], Value = "sk4" } } } } }; var act = new SkillCategory() { Id = 1, DisplayPriority = 1, Texts = new List <Text>() { new Text() { Language = _languages[0], Value = "skc1.fr" }, new Text() { Language = _languages[1], Value = "skc1.en" } }, Skills = new List <Skill>() { new Skill() { Id = 1, KnowledgePercent = 50, Texts = new List <Text>() { new Text() { Language = _languages[0], Value = "sk1" }, new Text() { Language = _languages[1], Value = "sk2" } } }, new Skill() { Id = 2, KnowledgePercent = 60, Texts = new List <Text>() { new Text() { Language = _languages[0], Value = "sk3" }, new Text() { Language = _languages[1], Value = "sk4" } } } } }; var result = act.ToDto(); Assert.AreEqual(expected.Id, result.Id); Assert.AreEqual(expected.DisplayPriority, result.DisplayPriority); AssertExtension.CompareIEnumerable(expected.Texts, result.Texts, (x, y) => x.Language == y.Language && x.Value == y.Value); AssertExtension.CompareIEnumerable(expected.Skills, result.Skills, (x, y) => x.KnowledgePercent == y.KnowledgePercent && AssertExtension.CompareIEnumerable(x.Texts, y.Texts, (a, b) => a.Language == b.Language && a.Value == b.Value)); }
public void Should_Transform_AddSkillCategoryModel_To_SkillCategory() { var expected = new SkillCategory() { Id = 1, DisplayPriority = 1, Texts = new List <Text>() { new Text() { Language = _languages[0], Value = "skc1" }, new Text() { Language = _languages[1], Value = "skc2" } }, Skills = new List <Skill>() { new Skill() { Id = 1, KnowledgePercent = 50, Texts = new List <Text>() { new Text() { Language = _languages[0], Value = "sk1" }, new Text() { Language = _languages[1], Value = "sk2" } } }, new Skill() { Id = 2, KnowledgePercent = 50, Texts = new List <Text>() { new Text() { Language = _languages[0], Value = "sk3" }, new Text() { Language = _languages[1], Value = "sk4" } } } } }; var act = new AddSkillCategoryModel() { DisplayPriority = 1, Texts = new List <TextModel>() { new TextModel() { Language = _languages[0], Value = "skc1" }, new TextModel() { Language = _languages[1], Value = "skc2" } } }; Assert.AreEqual(expected.DisplayPriority, act.ToDto(_languages).DisplayPriority); AssertExtension.CompareIEnumerable(expected.Texts, act.ToDto(_languages).Texts, (x, y) => x.Language == y.Language && x.Value == y.Value); }