public void ShowEntryRequirementsTest(bool hasValue) { // Arrange var courseDetailsCourseDetails = new _MVC_Views_CourseDetails_CourseDetails_cshtml(); var courseDetailsViewModel = new CourseDetailsViewModel(); courseDetailsViewModel.CourseDetails = new CourseDetails(); if (hasValue) { courseDetailsViewModel.CourseDetails.EntryRequirements = nameof(CourseDetailsViewModel.CourseDetails.EntryRequirements); } else { courseDetailsViewModel.NoEntryRequirementsAvailableMessage = nameof(CourseDetailsViewModel.NoEntryRequirementsAvailableMessage); } // Act var htmlDocument = courseDetailsCourseDetails.RenderAsHtml(courseDetailsViewModel); // Assert if (hasValue) { htmlDocument.DocumentNode.Descendants("p") .Any(div => div.Attributes["class"].Value.Contains("govuk-body") && div.InnerText.Contains(courseDetailsViewModel.CourseDetails.EntryRequirements)).Should().BeTrue(); } else { htmlDocument.DocumentNode.Descendants("p") .Any(div => div.Attributes["class"].Value.Contains("govuk-body") && div.InnerText.Contains(courseDetailsViewModel.NoEntryRequirementsAvailableMessage)).Should().BeTrue(); } }
public void ShowHideBackToResultsTest(bool referralUrlExists) { // Arrange var courseDetailsHtml = new _MVC_Views_CourseDetails_CourseDetails_cshtml(); var courseDetailsViewModel = new CourseDetailsViewModel(); var courseDetails = new CourseDetails(); if (referralUrlExists) { courseDetailsViewModel.ReferralPath = nameof(CourseDetailsViewModel.ReferralPath); } else { courseDetailsViewModel.ReferralPath = null; } // Act var htmlDocument = courseDetailsHtml.RenderAsHtml(courseDetailsViewModel); // Assert if (referralUrlExists) { htmlDocument.DocumentNode.Descendants("a") .Any(a => a.Attributes["class"].Value.Contains("govuk-back-link") && a.Attributes["href"].Value.Contains(courseDetailsViewModel.ReferralPath)).Should().BeTrue(); } else { htmlDocument.DocumentNode.Descendants("a") .Any(a => a.Attributes["class"].Value.Contains("govuk-back-link") && a.Attributes["href"].Value.Contains(courseDetailsViewModel.ReferralPath)).Should().BeFalse(); } }
public void Dfc9560MissingFieldsTest(CourseDetailsViewModel courseDetailsViewModel, CourseDetails courseDetails) { //Arrange courseDetailsViewModel.CourseDetails = courseDetails; var detailsView = new _MVC_Views_CourseDetails_CourseDetails_cshtml(); //Act var htmlDocument = detailsView.RenderAsHtml(courseDetailsViewModel); //Asserts if (!string.IsNullOrWhiteSpace(courseDetails.AttendancePattern)) { AssertTagInnerTextValue(htmlDocument, courseDetailsViewModel.AttendancePatternLabel, "th"); AssertTagInnerTextValue(htmlDocument, courseDetails.AttendancePattern, "td"); } if (!string.IsNullOrWhiteSpace(courseDetails.AwardingOrganisation)) { AssertTagInnerTextValue(htmlDocument, courseDetailsViewModel.AwardingOrganisationLabel, "th"); AssertTagInnerTextValue(htmlDocument, courseDetails.AwardingOrganisation, "td"); } if (!string.IsNullOrWhiteSpace(courseDetails.CourseWebpageLink)) { AssertTagInnerTextValue(htmlDocument, courseDetailsViewModel.CourseWebpageLinkLabel, "th"); AssertElementExistsByAttributeAndValue(htmlDocument, "a", "href", courseDetails.CourseWebpageLink); } if (!string.IsNullOrWhiteSpace(courseDetails.StudyMode)) { AssertTagInnerTextValue(htmlDocument, courseDetailsViewModel.CourseTypeLabel, "th"); AssertTagInnerTextValue(htmlDocument, courseDetails.StudyMode, "td"); } if (!string.IsNullOrWhiteSpace(courseDetails.AdditionalPrice)) { AssertTagInnerTextValue(htmlDocument, courseDetailsViewModel.AdditionalPriceLabel, "th"); AssertTagInnerTextValue(htmlDocument, courseDetails.AdditionalPrice, "td"); } if (!string.IsNullOrWhiteSpace(courseDetails.QualificationName)) { AssertTagInnerTextValue(htmlDocument, courseDetailsViewModel.QualificationNameLabel, "th"); AssertTagInnerTextValue(htmlDocument, courseDetails.QualificationName, "td"); } if (!string.IsNullOrWhiteSpace(courseDetails.QualificationLevel)) { AssertTagInnerTextValue(htmlDocument, courseDetailsViewModel.QualificationLevelLabel, "th"); AssertTagInnerTextValue(htmlDocument, courseDetails.QualificationLevel, "td"); } if (!string.IsNullOrWhiteSpace(courseDetails.Cost)) { AssertTagInnerTextValue(htmlDocument, courseDetailsViewModel.PriceLabel, "th"); AssertTagInnerTextValue(htmlDocument, courseDetails.Cost, "td"); } }
public CourseDetailsWorkBasedVenuesTests() { courseDetailsView = new _MVC_Views_CourseDetails_CourseDetails_cshtml(); courseDetailsViewModel = new CourseDetailsViewModel { NationalWorkBasedText = "National", CourseDetails = { National = true, AttendanceMode = "Work based", } }; }
public void Dfc7056CourseDetailsPartialViewTests() { // Arrange var courseDetailsIndex = new _MVC_Views_CourseDetails_CourseDetails_cshtml(); var courseDetails = new CourseDetails(); var model = new CourseDetailsViewModel(); model.CourseDetails.Title = nameof(CourseDetails.Title); // Act var htmlDocument = courseDetailsIndex.RenderAsHtml(model); // Assert AssertTagInnerTextValue(htmlDocument, model.CourseDetails.Title, "h1"); this.AssertTableCounts(htmlDocument, 1); this.AssertH2HeadingCounts(htmlDocument, 9); }
public void ShowVenueDetailsTest(bool venueExists) { // Arrange var courseDetailsCourseDetails = new _MVC_Views_CourseDetails_CourseDetails_cshtml(); var courseDetailsViewModel = new CourseDetailsViewModel(); courseDetailsViewModel.CourseDetails = new CourseDetails(); if (venueExists) { courseDetailsViewModel.CourseDetails.VenueDetails = new Venue { VenueName = nameof(CourseDetails.VenueDetails.VenueName), Location = new Address { AddressLine1 = nameof(CourseDetails.VenueDetails.Location.AddressLine1), AddressLine2 = nameof(CourseDetails.VenueDetails.Location.AddressLine2), Town = nameof(CourseDetails.VenueDetails.Location.Town), County = nameof(CourseDetails.VenueDetails.Location.County), Postcode = nameof(CourseDetails.VenueDetails.Location.Postcode) }, Website = nameof(CourseDetails.VenueDetails.Website), EmailAddress = nameof(CourseDetails.VenueDetails.EmailAddress), PhoneNumber = nameof(CourseDetails.VenueDetails.PhoneNumber), Facilities = nameof(CourseDetails.VenueDetails.Facilities), Fax = nameof(CourseDetails.VenueDetails.Fax) }; } else { courseDetailsViewModel.CourseDetails.VenueDetails = null; } // Act var htmlDocument = courseDetailsCourseDetails.RenderAsHtml(courseDetailsViewModel); // Assert if (venueExists) { htmlDocument.DocumentNode.Descendants("td") .Any(div => div.Attributes["class"].Value.Contains("govuk-table__cell") && div.InnerText.Contains(courseDetailsViewModel.CourseDetails.VenueDetails.VenueName)).Should().BeTrue(); htmlDocument.DocumentNode.Descendants("td") .Any(div => div.Attributes["class"].Value.Contains("govuk-table__cell") && div.InnerText.Contains(courseDetailsViewModel.CourseDetails.VenueDetails.Location.AddressLine1)).Should().BeTrue(); htmlDocument.DocumentNode.Descendants("td") .Any(div => div.Attributes["class"].Value.Contains("govuk-table__cell") && div.InnerText.Contains(courseDetailsViewModel.CourseDetails.VenueDetails.Location.AddressLine2)).Should().BeTrue(); htmlDocument.DocumentNode.Descendants("td") .Any(div => div.Attributes["class"].Value.Contains("govuk-table__cell") && div.InnerText.Contains(courseDetailsViewModel.CourseDetails.VenueDetails.Location.Town)).Should().BeTrue(); htmlDocument.DocumentNode.Descendants("td") .Any(div => div.Attributes["class"].Value.Contains("govuk-table__cell") && div.InnerText.Contains(courseDetailsViewModel.CourseDetails.VenueDetails.Location.Postcode)).Should().BeTrue(); htmlDocument.DocumentNode.Descendants("td") .Any(div => div.Attributes["class"].Value.Contains("govuk-table__cell") && div.InnerText.Contains(courseDetailsViewModel.CourseDetails.VenueDetails.Location.County)).Should().BeTrue(); } else { htmlDocument.DocumentNode.Descendants("td") .Any(div => div.Attributes["class"].Value.Contains("govuk-table__cell") && div.InnerText.Contains(nameof(courseDetailsViewModel.CourseDetails.VenueDetails.VenueName))).Should().BeFalse(); } }