public void Dfc3361SkillsViewTests(bool useSkillsFramework) { // Arrange int numberSkills = 5; var skillsList = GetSkills(numberSkills); var whatItTakesView = new _MVC_Views_JobProfileWhatItTakes_WhatItTakesSkills_cshtml(); var skillsViewModel = new JobProfileWhatItTakesSkillsViewModel { WhatItTakesSectionTitle = "Dummy Section Title", SkillsSectionIntro = "Dummy Intro", WhatItTakesSkills = skillsList, PropertyValue = "Non Onet Skills Text", UseSkillsFramework = useSkillsFramework }; // Act var htmlDocument = whatItTakesView.RenderAsHtml(skillsViewModel); //Asserts var sectionTitle = htmlDocument.DocumentNode.Descendants("h3").FirstOrDefault(); sectionTitle.InnerText.Should().BeEquivalentTo(skillsViewModel.WhatItTakesSectionTitle); //If using the Onet view if (useSkillsFramework) { //Non Onet skills should NOT be displayed htmlDocument.DocumentNode.InnerHtml.IndexOf(skillsViewModel.PropertyValue).Should().Be(-1); htmlDocument.DocumentNode.Descendants("li").Count().Should().IsSameOrEqualTo(skillsViewModel.WhatItTakesSkills.Count()); int ii = 0; foreach (HtmlNode li in htmlDocument.DocumentNode.Descendants("li")) { li.InnerText.Should().Contain(skillsList[ii++].Description); } } else { //Non Onet skills should be displayed htmlDocument.DocumentNode.InnerHtml.IndexOf(skillsViewModel.PropertyValue).Should().BeGreaterThan(-1); } }
public void Dfc3361SkillsViewDigitalSkills() { // Arrange int numberSkills = 5; var whatItTakesView = new _MVC_Views_JobProfileWhatItTakes_WhatItTakesSkills_cshtml(); var skillsViewModel = new JobProfileWhatItTakesSkillsViewModel { WhatItTakesSkills = GetSkills(numberSkills), UseSkillsFramework = true, DigitalSkillsLevel = "Digital skills" }; // Act var htmlDocument = whatItTakesView.RenderAsHtml(skillsViewModel); //Asserts //should have the number of skills plus one for digital skills htmlDocument.DocumentNode.Descendants("li").Count().Should().IsSameOrEqualTo(skillsViewModel.WhatItTakesSkills.Count() + 1); htmlDocument.DocumentNode.Descendants("li").LastOrDefault().InnerText.Should().Contain(skillsViewModel.DigitalSkillsLevel); }