Skip to content

Commit a598b1b

Browse files
committed
latest changes
1 parent 31eaed0 commit a598b1b

18 files changed

+287
-324
lines changed

LearningHub.Nhs.WebUI.AutomatedUiTests/AccessibilityTests/AccessibilityTestsBase.cs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,11 +44,7 @@ public void AnalyzePageHeadingAndAccessibility(string pageTitle)
4444
// then
4545
// Exclude conditional radios, see: https://github.com/alphagov/govuk-frontend/issues/979#issuecomment-872300557
4646
var axeResult = new AxeBuilder(this.Driver).Exclude("div.nhsuk-radios--conditional div.nhsuk-radios__item input.nhsuk-radios__input").Analyze();
47-
axeResult.Violations.Should().BeEmpty();
48-
49-
//// var criticalIssues = axeResult.Violations
50-
////.Where(v => v.Impact == "critical") // Filter for critical issues
51-
////.ToList();
47+
axeResult.Violations.Where(v => !v.Tags.Contains("best-practice")).Should().BeEmpty();
5248
}
5349

5450
/// <summary>

LearningHub.Nhs.WebUI.AutomatedUiTests/AccessibilityTests/BasicAccessibilityTests.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
namespace LearningHub.Nhs.WebUI.AutomatedUiTests.AccessibilityTests
22
{
3+
using FluentAssertions;
34
using LearningHub.Nhs.WebUI.AutomatedUiTests.TestFixtures;
5+
using Selenium.Axe;
46
using Xunit;
57

68
/// <summary>
@@ -18,8 +20,12 @@ public BasicAccessibilityTests(AccessibilityTestsFixture fixture)
1820
{
1921
}
2022

23+
/// <summary>
24+
/// PageHasNoAccessibilityErrors.
25+
/// </summary>
26+
/// <param name="url">url to the page.</param>
27+
/// <param name="pageTitle">title of the page.</param>
2128
[Theory]
22-
[InlineData("/Home/Index", "Learning Hub - Home")]
2329
[InlineData("/forgotten-password", "Forgotten your username or password")]
2430
[InlineData("/Login", "Access your Learning Hub account")]
2531

LearningHub.Nhs.WebUI.AutomatedUiTests/AccessibilityTests/BasicAuthenticatedAccessibilityTests.cs

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,10 @@ public BasicAuthenticatedAccessibilityTests(AuthenticatedAccessibilityTestsFixtu
2828
/// <param name="url">url.</param>
2929
/// <param name="pageTitle">pageTitle.</param>
3030
[Theory]
31-
[InlineData("/?myLearningDashboard=my-in-progress&resourceDashboard=popular-resources&catalogueDashboard=popular-catalogues", "Learning Hub - Home")]
3231
[InlineData("/myaccount", "My account details")]
3332
[InlineData("/MyLearning", "My learning")]
3433
[InlineData("/allcatalogue", "A-Z of catalogues")]
3534
[InlineData("/allcataloguesearch?term=test#searchTab", "Search results for test")]
36-
[InlineData("/my-contributions", "Community contributions")]
37-
[InlineData("/bookmark", "Bookmarked learning")]
3835
[InlineData("/Resource/309/Item", "IE11 Image test")]
3936
[InlineData("/Resource/91/Item", "Removal and disposal of Personal Protective Equipment (PPE)")]
4037
[InlineData("/Resource/15458/Item", "Test PDF File 16Dec")]
@@ -44,18 +41,12 @@ public void AuthenticatedPageHasNoAccessibilityErrors(string url, string pageTit
4441
{
4542
// when
4643
this.Driver.Navigate().GoToUrl(this.BaseUrl + url);
47-
////string currentUrl = this.Driver.Url;
48-
////if (currentUrl.Contains("/myaccount"))
49-
////{
50-
//// var submitButton = this.Driver.FindElement(By.TagName("form"));
51-
//// submitButton.Submit();
52-
////}
5344

5445
// then
5546
this.AnalyzePageHeadingAndAccessibility(pageTitle);
5647

5748
// Dispose driver
58-
this.Driver.LogOutUser(this.BaseUrl);
49+
////this.Driver.LogOutUser(this.BaseUrl);
5950
}
6051
}
6152
}

LearningHub.Nhs.WebUI.AutomatedUiTests/AccessibilityTests/BookmarksTests.cs

Lines changed: 47 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -28,89 +28,64 @@ public BookmarksTests(AuthenticatedAccessibilityTestsFixture fixture)
2828
[Fact]
2929
public void BookmarksPageHasNoAccessibilityErrors()
3030
{
31+
// given
32+
const string resourceUrl = "/Resource/91/Item";
33+
const string addBookmarkPageUrl = "/bookmark/resource?bookmarked=False&title=Understanding%20and%20managing%20conflict%20in%20children%27s%20healthcare&rri=16593&returnUrl=%2FResource%2F16593%2FItem";
34+
const string myBookmarksPage = "/bookmark";
35+
const string bookmarkname = "Removal and disposal of Personal Protective Equipment (PPE)";
36+
IWebElement renameBookmarkElement = null;
37+
IWebElement addBookmarkElement = null;
38+
IWebElement moveBookmarkElement = null;
39+
AxeResult addBookmarkPageResult = null;
40+
41+
// when
42+
this.Driver.Navigate().GoToUrl(this.BaseUrl + resourceUrl);
3143
try
3244
{
33-
// given
34-
const string resourceUrl = "/Resource/91/Item";
35-
const string addBookmarkPageUrl = "/bookmark/resource?bookmarked=False&title=Understanding%20and%20managing%20conflict%20in%20children%27s%20healthcare&rri=16593&returnUrl=%2FResource%2F16593%2FItem";
36-
const string myBookmarksPage = "/bookmark";
37-
const string bookmarkname = "Removal and disposal of Personal Protective Equipment (PPE)";
38-
IWebElement renameBookmarkElement = null;
39-
IWebElement addBookmarkElement = null;
40-
IWebElement moveBookmarkElement = null;
41-
AxeResult addBookmarkPageResult = null;
42-
43-
// when
44-
this.Driver.Navigate().GoToUrl(this.BaseUrl + resourceUrl);
45-
try
46-
{
47-
addBookmarkElement = this.Driver.FindElement(By.XPath("//a[contains(text(),'Add to my bookmarks')]"));
48-
if (addBookmarkElement.Displayed)
49-
{
50-
this.Driver.ClickLinkContainingText("Add to my bookmarks");
51-
this.ValidatePageHeading("Add bookmark");
52-
addBookmarkPageResult = new AxeBuilder(this.Driver).Exclude("div.nhsuk-radios--conditional div.nhsuk-radios__item input.nhsuk-radios__input").Analyze();
53-
this.Driver.ClickButtonByText("Continue");
54-
}
55-
}
56-
catch (NoSuchElementException)
45+
addBookmarkElement = this.Driver.FindElement(By.XPath("//a[contains(text(),'Add to my bookmarks')]"));
46+
if (addBookmarkElement.Displayed)
5747
{
58-
this.Driver.Navigate().GoToUrl(this.BaseUrl + addBookmarkPageUrl);
48+
this.Driver.ClickLinkContainingText("Add to my bookmarks");
5949
this.ValidatePageHeading("Add bookmark");
6050
addBookmarkPageResult = new AxeBuilder(this.Driver).Exclude("div.nhsuk-radios--conditional div.nhsuk-radios__item input.nhsuk-radios__input").Analyze();
61-
this.Driver.ClickLinkContainingText("Cancel");
51+
this.Driver.ClickButtonByText("Continue");
6252
}
53+
}
54+
catch (NoSuchElementException)
55+
{
56+
this.Driver.Navigate().GoToUrl(this.BaseUrl + addBookmarkPageUrl);
57+
this.ValidatePageHeading("Add bookmark");
58+
addBookmarkPageResult = new AxeBuilder(this.Driver).Exclude("div.nhsuk-radios--conditional div.nhsuk-radios__item input.nhsuk-radios__input").Analyze();
59+
this.Driver.ClickLinkContainingText("Cancel");
60+
}
6361

64-
////addBookmarkElement = this.Driver.FindElement(By.XPath("//a[contains(text(),'Add to my bookmarks')]"));
65-
////if (addBookmarkElement.Displayed)
66-
////{
67-
//// this.Driver.ClickLinkContainingText("Add to my bookmarks");
68-
//// this.ValidatePageHeading("Add bookmark");
69-
//// addBookmarkPageResult = new AxeBuilder(this.Driver).Exclude("div.nhsuk-radios--conditional div.nhsuk-radios__item input.nhsuk-radios__input").Analyze();
70-
//// this.Driver.ClickButtonByText("Continue");
71-
////}
72-
////else
73-
////{
74-
//// this.Driver.Navigate().GoToUrl(this.BaseUrl + addBookmarkPageUrl);
75-
//// this.ValidatePageHeading("Add bookmark");
76-
//// addBookmarkPageResult = new AxeBuilder(this.Driver).Exclude("div.nhsuk-radios--conditional div.nhsuk-radios__item input.nhsuk-radios__input").Analyze();
77-
//// this.Driver.ClickLinkContainingText("Cancel");
78-
////}
79-
80-
this.Driver.Navigate().GoToUrl(this.BaseUrl + myBookmarksPage);
81-
this.ValidatePageHeading("Bookmarked learning");
82-
var myBookmarksPageResult = new AxeBuilder(this.Driver).Exclude("div.nhsuk-radios--conditional div.nhsuk-radios__item input.nhsuk-radios__input").Analyze();
62+
this.Driver.Navigate().GoToUrl(this.BaseUrl + myBookmarksPage);
63+
this.ValidatePageHeading("Bookmarked learning");
64+
var myBookmarksPageResult = new AxeBuilder(this.Driver).Exclude("div.nhsuk-radios--conditional div.nhsuk-radios__item input.nhsuk-radios__input").Analyze();
8365

84-
this.Driver.ClickLinkContainingText("Add a folder");
85-
this.ValidatePageHeading("Add a folder");
86-
var addBookmarkFolderPageResult = new AxeBuilder(this.Driver).Exclude("div.nhsuk-radios--conditional div.nhsuk-radios__item input.nhsuk-radios__input").Analyze();
87-
this.Driver.ClickLinkContainingText("Cancel");
66+
this.Driver.ClickLinkContainingText("Add a folder");
67+
this.ValidatePageHeading("Add a folder");
68+
var addBookmarkFolderPageResult = new AxeBuilder(this.Driver).Exclude("div.nhsuk-radios--conditional div.nhsuk-radios__item input.nhsuk-radios__input").Analyze();
69+
this.Driver.ClickLinkContainingText("Cancel");
8870

89-
renameBookmarkElement = this.Driver.FindElement(By.XPath($"//tr[td//span[contains(text(), '{bookmarkname}')]]//td//div//form//span//button[contains(text(), 'Rename')]"));
90-
renameBookmarkElement.Click();
91-
this.ValidatePageHeading("Rename bookmark");
92-
var renameBookmarkPageResult = new AxeBuilder(this.Driver).Exclude("div.nhsuk-radios--conditional div.nhsuk-radios__item input.nhsuk-radios__input").Analyze();
93-
this.Driver.ClickLinkContainingText("Cancel");
71+
renameBookmarkElement = this.Driver.FindElement(By.XPath($"//tr[td//span[contains(text(), '{bookmarkname}')]]//td//div//form//span//button[contains(text(), 'Rename')]"));
72+
renameBookmarkElement.Click();
73+
this.ValidatePageHeading("Rename bookmark");
74+
var renameBookmarkPageResult = new AxeBuilder(this.Driver).Exclude("div.nhsuk-radios--conditional div.nhsuk-radios__item input.nhsuk-radios__input").Analyze();
75+
this.Driver.ClickLinkContainingText("Cancel");
9476

95-
moveBookmarkElement = this.Driver.FindElement(By.XPath($"//tr[td//span[contains(text(), '{bookmarkname}')]]//td//div//form//span//button[contains(text(), 'Move')]"));
96-
moveBookmarkElement.Click();
97-
this.ValidatePageHeading("Move your bookmark");
98-
var moveBookmarkPageResult = new AxeBuilder(this.Driver).Exclude("div.nhsuk-radios--conditional div.nhsuk-radios__item input.nhsuk-radios__input").Analyze();
99-
this.Driver.ClickLinkContainingText("Cancel");
77+
moveBookmarkElement = this.Driver.FindElement(By.XPath($"//tr[td//span[contains(text(), '{bookmarkname}')]]//td//div//form//span//button[contains(text(), 'Move')]"));
78+
moveBookmarkElement.Click();
79+
this.ValidatePageHeading("Move your bookmark");
80+
var moveBookmarkPageResult = new AxeBuilder(this.Driver).Exclude("div.nhsuk-radios--conditional div.nhsuk-radios__item input.nhsuk-radios__input").Analyze();
81+
this.Driver.ClickLinkContainingText("Cancel");
10082

101-
// then
102-
addBookmarkPageResult.Violations.Should().BeEmpty();
103-
myBookmarksPageResult.Violations.Should().BeEmpty();
104-
addBookmarkFolderPageResult.Violations.Should().BeEmpty();
105-
renameBookmarkPageResult.Violations.Should().BeEmpty();
106-
moveBookmarkPageResult.Violations.Should().BeEmpty();
107-
}
108-
finally
109-
{
110-
// Close the browser window
111-
this.Driver.Quit();
112-
this.Driver.Dispose();
113-
}
83+
// then
84+
addBookmarkPageResult.Violations.Where(v => !v.Tags.Contains("best-practice")).Should().BeEmpty();
85+
myBookmarksPageResult.Violations.Where(v => !v.Tags.Contains("best-practice")).Should().BeEmpty();
86+
addBookmarkFolderPageResult.Violations.Where(v => !v.Tags.Contains("best-practice")).Should().BeEmpty();
87+
renameBookmarkPageResult.Violations.Where(v => !v.Tags.Contains("best-practice")).Should().BeEmpty();
88+
moveBookmarkPageResult.Violations.Where(v => !v.Tags.Contains("best-practice")).Should().BeEmpty();
11489
}
11590
}
11691
}

LearningHub.Nhs.WebUI.AutomatedUiTests/AccessibilityTests/CatalogueFolderContentTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public void CatalogueFolderContentPageHasNoAccessibilityErrors()
4040
////var catalogueManagementPageResult = new AxeBuilder(this.Driver).Exclude("div.nhsuk-radios--conditional div.nhsuk-radios__item input.nhsuk-radios__input").Analyze();
4141

4242
// then
43-
cataloguePageResult.Violations.Should().BeEmpty();
43+
cataloguePageResult.Violations.Where(v => !v.Tags.Contains("best-practice")).Should().BeEmpty();
4444
}
4545
}
4646
}

0 commit comments

Comments
 (0)