Date: Thu, 30 Jan 2025 10:35:49 +0000
Subject: [PATCH 13/21] add before or after datatest id for shg
---
.../Pages/Trusts/Ofsted/_SingleHeadlineGradeCells.cshtml | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/DfE.FindInformationAcademiesTrusts/Pages/Trusts/Ofsted/_SingleHeadlineGradeCells.cshtml b/DfE.FindInformationAcademiesTrusts/Pages/Trusts/Ofsted/_SingleHeadlineGradeCells.cshtml
index 4a28dca70..f593eafe7 100644
--- a/DfE.FindInformationAcademiesTrusts/Pages/Trusts/Ofsted/_SingleHeadlineGradeCells.cshtml
+++ b/DfE.FindInformationAcademiesTrusts/Pages/Trusts/Ofsted/_SingleHeadlineGradeCells.cshtml
@@ -2,13 +2,16 @@
@* Single headline grade *@
-
+ data-sort-value="@Model.SingleHeadlineGradeSort">
+
@Model.SingleHeadlineGradeText
@if (Model.HasInspection)
{
-
+
@Model.TagLabel
}
From 6f9b9f8629b97b05f17c37df5c6326227f9c08c8 Mon Sep 17 00:00:00 2001
From: CMurrell148
Date: Thu, 30 Jan 2025 14:03:01 +0000
Subject: [PATCH 14/21] add ofsted single headline grade tests and page objects
---
.../e2e/regression/trusts/ofsted-page.cy.ts | 79 +++++++++++++-
.../cypress/pages/trusts/ofstedPage.ts | 101 +++++++++++++++++-
2 files changed, 178 insertions(+), 2 deletions(-)
diff --git a/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/e2e/regression/trusts/ofsted-page.cy.ts b/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/e2e/regression/trusts/ofsted-page.cy.ts
index 607ef1f6d..5ffc08d10 100644
--- a/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/e2e/regression/trusts/ofsted-page.cy.ts
+++ b/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/e2e/regression/trusts/ofsted-page.cy.ts
@@ -3,8 +3,84 @@ import navigation from "../../../pages/navigation";
import dataDownload from "../../../pages/trusts/dataDownload";
import commonPage from "../../../pages/commonPage";
+const testTrustOfstedData = [
+ {
+ typeOfTrust: "single academy trust",
+ uid: 5527
+ },
+ {
+ typeOfTrust: "multi academy trust",
+ uid: 5712
+ }
+];
+
describe("Testing the Ofsted page and its subpages ", () => {
+ testTrustOfstedData.forEach(({ typeOfTrust, uid }) => {
+ describe(`Testing the single headline grades page for a ${typeOfTrust}`, () => {
+ beforeEach(() => {
+ cy.login();
+ cy.visit(`/trusts/ofsted/single-headline-grades?uid=${uid}`);
+
+ cy.task('checkForFiles', 'cypress/downloads').then((files) => {
+ if (files) {
+ cy.task('clearDownloads', 'cypress/downloads');
+ }
+ });
+ });
+
+ it("Checks the correct Ofsted single headline grades subpage header is present", () => {
+ ofstedPage
+ .checkOfstedSHGPageHeaderPresent();
+ });
+
+ it("Checks the browser title is correct", () => {
+ commonPage
+ .checkThatBrowserTitleForTrustPageMatches('Single headline grades - Ofsted - {trustName} - Find information about academies and trusts');
+ });
+
+ it("Checks the breadcrumb shows the correct page name", () => {
+ navigation
+ .checkPageNameBreadcrumbPresent("Ofsted");
+ });
+
+ it("Checks the correct Ofsted single headline grades table headers are present", () => {
+ ofstedPage
+ .checkOfstedSHGTableHeadersPresent();
+ });
+
+ it("Checks the Ofsted current ratings page sorting", () => {
+ ofstedPage
+ .checkOfstedSHGSorting();
+ });
+
+ it("Checks that a trusts current and previous ratings correct judgement types are present", () => {
+ ofstedPage
+ .checkSHGCurrentSHGJudgementsPresent()
+ .checkSHGPreviousSHGJudgementsPresent()
+ .checkSHGCurrentSHGBeforeOrAfterPresent()
+ .checkSHGPreviousSHGBeforeOrAfterPresent();
+ });
+
+ it("Checks that the single headline grades dates are within the correct parameters", () => {
+ ofstedPage
+ .checkSHGDateJoinedPresent()
+ .checkSHGDateOfCurrentInspectionPresent()
+ .checkSHGDateOfPreviousInspectionPresent();
+ });
+
+ it('should export academies data as an xlsx and verify it has downloaded and has content', () => {
+ ofstedPage
+ .clickDownloadButton();
+ dataDownload
+ .checkFileDownloaded()
+ .checkFileHasContent()
+ .deleteDownloadedFile();
+ });
+
+ });
+ });
+
describe("Testing the Ofsted current ratings page ", () => {
beforeEach(() => {
cy.login();
@@ -273,7 +349,8 @@ describe("Testing the Ofsted page and its subpages ", () => {
describe("Testing a trust that has no ofsted data within it to ensure the issue of a 500 page appearing does not happen", () => {
beforeEach(() => {
cy.login();
- commonPage.interceptAndVerifyNo500Errors();
+ commonPage
+ .interceptAndVerifyNo500Errors();
});
['/trusts/ofsted/current-ratings?uid=17728', '/trusts/ofsted/previous-ratings?uid=17728', '/trusts/ofsted/important-dates?uid=17728', '/trusts/ofsted/safeguarding-and-concerns?uid=17728'].forEach((url) => {
diff --git a/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/pages/trusts/ofstedPage.ts b/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/pages/trusts/ofstedPage.ts
index e4cae098f..e328ca4d8 100644
--- a/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/pages/trusts/ofstedPage.ts
+++ b/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/pages/trusts/ofstedPage.ts
@@ -5,6 +5,23 @@ class OfstedPage {
elements = {
subpageHeader: () => cy.get('[data-testid="subpage-header"]'),
downloadButton: () => cy.get('[data-testid="download-all-ofsted-data-button"]'),
+ singleHeadlineGrades: {
+ section: () => cy.get('[data-testid="ofsted-single-headline-grades-school-name-table"]'),
+ schoolName: () => this.elements.singleHeadlineGrades.section().find('[data-testid="ofsted-single-headline-grades-school-name"]'),
+ schoolNameHeader: () => this.elements.singleHeadlineGrades.section().find('[data-testid="ofsted-single-headline-grades-school-name-header"]'),
+ dateJoined: () => this.elements.singleHeadlineGrades.section().find('[data-testid="ofsted-single-headline-grades-date-joined"]'),
+ dateJoinedHeader: () => this.elements.singleHeadlineGrades.section().find('[data-testid="ofsted-single-headline-grades-date-joined-header"]'),
+ currentSHG: () => this.elements.singleHeadlineGrades.section().find('[data-testid="ofsted-single-headline-grades-current-single-headline-grade"]'),
+ currentSHGBeforeOrAfter: () => this.elements.singleHeadlineGrades.section().find('[data-testid="ofsted-single-headline-grades-current-before-after-joining"]'),
+ currentSHGHeader: () => this.elements.singleHeadlineGrades.section().find('[data-testid="ofsted-single-headline-grades-current-single-headline-grade-header"]'),
+ dateOfCurrentInspection: () => this.elements.singleHeadlineGrades.section().find('[data-testid="ofsted-single-headline-grades-current-date-of-inspection"]'),
+ dateOfCurrentInspectionHeader: () => this.elements.singleHeadlineGrades.section().find('[data-testid="ofsted-single-headline-grades-date-of-current-inspection-header"]'),
+ previousSHG: () => this.elements.singleHeadlineGrades.section().find('[data-testid="ofsted-single-headline-grades-previous-single-headline-grade"]'),
+ previousSHGBeforeOrAfter: () => this.elements.singleHeadlineGrades.section().find('[data-sort-value="3"] > [data-testid="ofsted-single-headline-grades-previous-before-after-joining"]'),
+ previousSHGHeader: () => this.elements.singleHeadlineGrades.section().find('[data-testid="ofsted-single-headline-grades-previous-single-headline-grade-header"]'),
+ dateOfPreviousInspection: () => this.elements.singleHeadlineGrades.section().find('[data-testid="ofsted-single-headline-grades-previous-date-of-inspection"]'),
+ dateOfPreviousInspectionHeader: () => this.elements.singleHeadlineGrades.section().find('[data-testid="ofsted-single-headline-grades-date-of-previous-inspection-header"]'),
+ },
currentRatings: {
section: () => cy.get('[data-testid="ofsted-current-ratings-table"]'),
schoolName: () => this.elements.currentRatings.section().find('[data-testid="ofsted-current-ratings-school-name"]'),
@@ -83,10 +100,92 @@ class OfstedPage {
private readonly checkValueIsValidBeforeOrAfterJoiningTag = (element: JQuery) => {
const text = element.text().trim();
- expect(text).to.match(/^(Before|After|Not yet inspected)$/);
+ expect(text).to.match(/^(Before|After|Not yet inspected|After joining|Before joining)$/);
};
// #endregion
+
+ // #region Single headline grades
+ public checkOfstedSHGPageHeaderPresent(): this {
+ this.elements.subpageHeader().should('contain', 'Single headline grades');
+ return this;
+ }
+
+ public checkOfstedSHGTableHeadersPresent(): this {
+ this.elements.singleHeadlineGrades.schoolNameHeader().should('be.visible');
+ this.elements.singleHeadlineGrades.dateJoinedHeader().should('be.visible');
+ this.elements.singleHeadlineGrades.currentSHGHeader().should('be.visible');
+ this.elements.singleHeadlineGrades.dateOfCurrentInspectionHeader().should('be.visible');
+ this.elements.singleHeadlineGrades.previousSHGHeader().should('be.visible');
+ this.elements.singleHeadlineGrades.dateOfPreviousInspectionHeader().should('be.visible');
+ return this;
+ }
+
+ public checkOfstedSHGSorting(): this {
+ TableUtility.checkStringSorting(
+ this.elements.singleHeadlineGrades.schoolName,
+ this.elements.singleHeadlineGrades.schoolNameHeader
+ );
+ TableUtility.checkStringSorting(
+ this.elements.singleHeadlineGrades.dateJoined,
+ this.elements.singleHeadlineGrades.dateJoinedHeader
+ );
+ TableUtility.checkStringSorting(
+ this.elements.singleHeadlineGrades.currentSHG,
+ this.elements.singleHeadlineGrades.currentSHGHeader
+ );
+ TableUtility.checkStringSorting(
+ this.elements.singleHeadlineGrades.dateOfCurrentInspection,
+ this.elements.singleHeadlineGrades.dateOfCurrentInspectionHeader
+ );
+ TableUtility.checkStringSorting(
+ this.elements.singleHeadlineGrades.previousSHG,
+ this.elements.singleHeadlineGrades.previousSHGHeader
+ );
+ TableUtility.checkStringSorting(
+ this.elements.singleHeadlineGrades.dateOfPreviousInspection,
+ this.elements.singleHeadlineGrades.dateOfPreviousInspectionHeader
+ );
+ return this;
+ }
+
+ public checkSHGDateJoinedPresent(): this {
+ this.elements.singleHeadlineGrades.dateJoined().each(this.checkValueIsValidDate);
+ return this;
+ }
+
+ public checkSHGDateOfCurrentInspectionPresent(): this {
+ this.elements.singleHeadlineGrades.dateOfCurrentInspection().each(this.checkValueIsValidDate);
+ return this;
+ }
+
+ public checkSHGDateOfPreviousInspectionPresent(): this {
+ this.elements.singleHeadlineGrades.dateOfPreviousInspection().each(this.checkValueIsValidDate);
+ return this;
+ }
+
+ public checkSHGCurrentSHGJudgementsPresent(): this {
+ this.elements.singleHeadlineGrades.currentSHG().each(this.checkValueIsValidOfstedRating);
+ return this;
+ }
+
+ public checkSHGPreviousSHGJudgementsPresent(): this {
+ this.elements.singleHeadlineGrades.previousSHG().each(this.checkValueIsValidOfstedRating);
+ return this;
+ }
+
+ public checkSHGCurrentSHGBeforeOrAfterPresent(): this {
+ this.elements.singleHeadlineGrades.currentSHGBeforeOrAfter().each(this.checkValueIsValidBeforeOrAfterJoiningTag);
+ return this;
+ }
+
+ public checkSHGPreviousSHGBeforeOrAfterPresent(): this {
+ this.elements.singleHeadlineGrades.previousSHGBeforeOrAfter().each(this.checkValueIsValidBeforeOrAfterJoiningTag);
+ return this;
+ }
+
+ // #endreigon
+
// #region Current ratings
public checkOfstedCurrentRatingsPageHeaderPresent(): this {
From 04e3012191515358dd27abb4ca8ee2e02308f502 Mon Sep 17 00:00:00 2001
From: CMurrell148
Date: Thu, 30 Jan 2025 15:23:48 +0000
Subject: [PATCH 15/21] remove important date tests and update 500 error check
to include shg
---
.../e2e/regression/trusts/ofsted-page.cy.ts | 65 +------------------
.../cypress/support/test-data-store.ts | 2 +-
2 files changed, 2 insertions(+), 65 deletions(-)
diff --git a/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/e2e/regression/trusts/ofsted-page.cy.ts b/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/e2e/regression/trusts/ofsted-page.cy.ts
index 5ffc08d10..cb02a49d0 100644
--- a/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/e2e/regression/trusts/ofsted-page.cy.ts
+++ b/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/e2e/regression/trusts/ofsted-page.cy.ts
@@ -283,69 +283,6 @@ describe("Testing the Ofsted page and its subpages ", () => {
});
});
- describe("Testing the Ofsted important dates page ", () => {
- beforeEach(() => {
- cy.login();
- cy.visit('/trusts/ofsted/important-dates?uid=5143');
-
- // Clear the downloads folder before running each test
- cy.task('checkForFiles', 'cypress/downloads').then((files) => {
- if (files) {
- cy.task('clearDownloads', 'cypress/downloads');
- }
- });
- });
-
- it("Checks the correct Ofsted important dates sub page header is present", () => {
- ofstedPage
- .checkOfstedImportantDatesPageHeaderPresent();
- });
-
- it("Checks the browser title is correct", () => {
- commonPage
- .checkThatBrowserTitleForTrustPageMatches('Important dates - Ofsted - {trustName} - Find information about academies and trusts');
- });
-
- it("Checks the breadcrumb shows the correct page name", () => {
- navigation
- .checkPageNameBreadcrumbPresent("Ofsted");
- });
-
- it("Checks the correct Ofsted important dates table headers are present", () => {
- ofstedPage
- .checkOfstedImportantDatesTableHeadersPresent();
- });
-
- it("Checks that a trusts important dates fields are present ", () => {
- ofstedPage
- .checkDateJoinedPresent()
- .checkDateOfCurrentInspectionPresent()
- .checkDateOfPreviousInspectionPresent();
- });
-
- it("Checks that a trusts important dates sorting is working", () => {
- ofstedPage
- .checkOfstedImportantDatesSorting();
- });
-
- it("Checks that a different trusts important dates fields are present", () => {
- cy.visit('/trusts/ofsted/important-dates?uid=5712');
- ofstedPage
- .checkDateJoinedPresent()
- .checkDateOfCurrentInspectionPresent()
- .checkDateOfPreviousInspectionPresent();
- });
-
- it('should export academies data as an xlsx and verify it has downloaded and has content', () => {
- ofstedPage
- .clickDownloadButton();
- dataDownload
- .checkFileDownloaded()
- .checkFileHasContent()
- .deleteDownloadedFile();
- });
- });
-
describe("Testing a trust that has no ofsted data within it to ensure the issue of a 500 page appearing does not happen", () => {
beforeEach(() => {
cy.login();
@@ -353,7 +290,7 @@ describe("Testing the Ofsted page and its subpages ", () => {
.interceptAndVerifyNo500Errors();
});
- ['/trusts/ofsted/current-ratings?uid=17728', '/trusts/ofsted/previous-ratings?uid=17728', '/trusts/ofsted/important-dates?uid=17728', '/trusts/ofsted/safeguarding-and-concerns?uid=17728'].forEach((url) => {
+ ['/trusts/ofsted/single-headline-grades?uid=17728', '/trusts/ofsted/current-ratings?uid=17728', '/trusts/ofsted/previous-ratings?uid=17728', '/trusts/ofsted/safeguarding-and-concerns?uid=17728'].forEach((url) => {
it(`Should have no 500 error on ${url}`, () => {
cy.visit(url);
});
diff --git a/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/support/test-data-store.ts b/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/support/test-data-store.ts
index cb8af51b3..ccca264a5 100644
--- a/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/support/test-data-store.ts
+++ b/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/support/test-data-store.ts
@@ -19,9 +19,9 @@ export class TestDataStore {
{
pageName: "Ofsted",
subpages: [
+ { subpageName: "Single headline grades", url: `/trusts/ofsted/single-headline-grades?uid=${uid}` },
{ subpageName: "Current ratings", url: `/trusts/ofsted/current-ratings?uid=${uid}` },
{ subpageName: "Previous ratings", url: `/trusts/ofsted/previous-ratings?uid=${uid}` },
- { subpageName: "Important dates", url: `/trusts/ofsted/important-dates?uid=${uid}` },
{ subpageName: "Safeguarding and concerns", url: `/trusts/ofsted/safeguarding-and-concerns?uid=${uid}` }
]
},
From 5a47865c68c0df0e3271f1d315c0d3161b4c88d8 Mon Sep 17 00:00:00 2001
From: CMurrell148
Date: Thu, 30 Jan 2025 16:27:54 +0000
Subject: [PATCH 16/21] update the ofsted 500 tests to use testDataStore
---
.../cypress/e2e/regression/data-sources.cy.ts | 2 +-
.../cypress/e2e/regression/trusts/ofsted-page.cy.ts | 5 +++--
.../cypress/support/test-data-store.ts | 12 +++++++++++-
3 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/e2e/regression/data-sources.cy.ts b/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/e2e/regression/data-sources.cy.ts
index 3d4e86892..db6e5da21 100644
--- a/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/e2e/regression/data-sources.cy.ts
+++ b/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/e2e/regression/data-sources.cy.ts
@@ -29,7 +29,7 @@ describe("Testing the data sources component", () => {
});
describe("Trust pages", () => {
- TestDataStore.GetTrustSubpagesForUid(5712).forEach(({ pageName, subpages }) => {
+ TestDataStore.GetAllTrustSubpagesForUid(5712).forEach(({ pageName, subpages }) => {
const subpageNames = subpages.map(s => s.subpageName);
describe(pageName, () => {
diff --git a/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/e2e/regression/trusts/ofsted-page.cy.ts b/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/e2e/regression/trusts/ofsted-page.cy.ts
index cb02a49d0..fcc52aa6a 100644
--- a/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/e2e/regression/trusts/ofsted-page.cy.ts
+++ b/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/e2e/regression/trusts/ofsted-page.cy.ts
@@ -2,6 +2,7 @@ import ofstedPage from "../../../pages/trusts/ofstedPage";
import navigation from "../../../pages/navigation";
import dataDownload from "../../../pages/trusts/dataDownload";
import commonPage from "../../../pages/commonPage";
+import { TestDataStore } from "../../../support/test-data-store";
const testTrustOfstedData = [
{
@@ -290,8 +291,8 @@ describe("Testing the Ofsted page and its subpages ", () => {
.interceptAndVerifyNo500Errors();
});
- ['/trusts/ofsted/single-headline-grades?uid=17728', '/trusts/ofsted/current-ratings?uid=17728', '/trusts/ofsted/previous-ratings?uid=17728', '/trusts/ofsted/safeguarding-and-concerns?uid=17728'].forEach((url) => {
- it(`Should have no 500 error on ${url}`, () => {
+ TestDataStore.GetTrustSubpagesFor(17728, "Ofsted").forEach(({ subpageName, url }) => {
+ it(`Should have no 500 error on ${subpageName}`, () => {
cy.visit(url);
});
});
diff --git a/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/support/test-data-store.ts b/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/support/test-data-store.ts
index ccca264a5..772470e4f 100644
--- a/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/support/test-data-store.ts
+++ b/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/support/test-data-store.ts
@@ -1,5 +1,15 @@
export class TestDataStore {
- public static readonly GetTrustSubpagesForUid = (uid: number) =>
+ public static readonly GetTrustSubpagesFor = (uid: number, pageName: string) => {
+
+ const page = TestDataStore.GetAllTrustSubpagesForUid(uid).find(p => p.pageName == pageName);
+
+ if (page === undefined)
+ throw new Error(`Page ${pageName} is not in the Cypress test data. Is this a new page that needs adding to TestDataStore?`);
+
+ return page.subpages;
+ };
+
+ public static readonly GetAllTrustSubpagesForUid = (uid: number) =>
[
{
pageName: "Overview",
From 079dc5ac544d3333098864f22ea7f40a9002043e Mon Sep 17 00:00:00 2001
From: CMurrell148
Date: Thu, 30 Jan 2025 16:28:37 +0000
Subject: [PATCH 17/21] add new methods to handle ofsted rating values more
resuably
---
.../cypress/pages/trusts/ofstedPage.ts | 52 ++++++++++++-------
1 file changed, 32 insertions(+), 20 deletions(-)
diff --git a/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/pages/trusts/ofstedPage.ts b/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/pages/trusts/ofstedPage.ts
index e328ca4d8..5b1e387a3 100644
--- a/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/pages/trusts/ofstedPage.ts
+++ b/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/pages/trusts/ofstedPage.ts
@@ -85,9 +85,17 @@ class OfstedPage {
}
};
- private readonly checkValueIsValidOfstedRating = (element: JQuery) => {
+ private readonly checkElementMatches = (element: JQuery, expected: RegExp) => {
const text = element.text().trim();
- expect(text).to.match(/^(Good|No judgement|Outstanding|Requires improvement|Inadequate|Not yet inspected|Insufficient evidence|Does not apply)$/);
+ expect(text).to.match(expected);
+ };
+
+ private readonly checkValueIsValidCurrentOfstedRating = (element: JQuery) =>
+ this.checkElementMatches(element, /^(Good|Not available|Outstanding|Requires improvement|Inadequate|Not yet inspected|Insufficient evidence|Does not apply)$/);
+
+ private readonly checkValueIsValidPreviousOfstedRating = (element: JQuery) => {
+ const text = element.text().trim();
+ expect(text).to.match(/^(Good|Not available|Outstanding|Requires improvement|Inadequate|Not inspected|Insufficient evidence|Does not apply)$/);
};
private readonly checkValueIsValidDate = (element: JQuery) => {
@@ -100,7 +108,7 @@ class OfstedPage {
private readonly checkValueIsValidBeforeOrAfterJoiningTag = (element: JQuery) => {
const text = element.text().trim();
- expect(text).to.match(/^(Before|After|Not yet inspected|After joining|Before joining)$/);
+ expect(text).to.match(/^(Before|After|Not yet inspected)$/);
};
// #endregion
@@ -165,22 +173,26 @@ class OfstedPage {
}
public checkSHGCurrentSHGJudgementsPresent(): this {
- this.elements.singleHeadlineGrades.currentSHG().each(this.checkValueIsValidOfstedRating);
+ this.elements.singleHeadlineGrades.currentSHG().each(this.checkValueIsValidCurrentOfstedRating);
return this;
}
public checkSHGPreviousSHGJudgementsPresent(): this {
- this.elements.singleHeadlineGrades.previousSHG().each(this.checkValueIsValidOfstedRating);
+ this.elements.singleHeadlineGrades.previousSHG().each(this.checkValueIsValidPreviousOfstedRating);
return this;
}
public checkSHGCurrentSHGBeforeOrAfterPresent(): this {
- this.elements.singleHeadlineGrades.currentSHGBeforeOrAfter().each(this.checkValueIsValidBeforeOrAfterJoiningTag);
+ this.elements.singleHeadlineGrades.currentSHGBeforeOrAfter().each((element: JQuery) => {
+ this.checkElementMatches(element, /^(Not yet inspected|After joining|Before joining)$/);
+ });
return this;
}
public checkSHGPreviousSHGBeforeOrAfterPresent(): this {
- this.elements.singleHeadlineGrades.previousSHGBeforeOrAfter().each(this.checkValueIsValidBeforeOrAfterJoiningTag);
+ this.elements.singleHeadlineGrades.previousSHGBeforeOrAfter().each((element: JQuery) => {
+ this.checkElementMatches(element, /^(Not inspected|After joining|Before joining)$/);
+ });
return this;
}
@@ -243,32 +255,32 @@ class OfstedPage {
}
public checkCurrentRatingsQualityOfEducationJudgementsPresent(): this {
- this.elements.currentRatings.qualityOfEducation().each(this.checkValueIsValidOfstedRating);
+ this.elements.currentRatings.qualityOfEducation().each(this.checkValueIsValidCurrentOfstedRating);
return this;
}
public checkCurrentRatingsBehaviourAndAttitudesJudgementsPresent(): this {
- this.elements.currentRatings.behaviourAndAttitudes().each(this.checkValueIsValidOfstedRating);
+ this.elements.currentRatings.behaviourAndAttitudes().each(this.checkValueIsValidCurrentOfstedRating);
return this;
}
public checkCurrentRatingsPersonalDevelopmentJudgementsPresent(): this {
- this.elements.currentRatings.personalDevelopment().each(this.checkValueIsValidOfstedRating);
+ this.elements.currentRatings.personalDevelopment().each(this.checkValueIsValidCurrentOfstedRating);
return this;
}
public checkCurrentRatingsLeadershipAndManagementJudgementsPresent(): this {
- this.elements.currentRatings.leadershipAndManagement().each(this.checkValueIsValidOfstedRating);
+ this.elements.currentRatings.leadershipAndManagement().each(this.checkValueIsValidCurrentOfstedRating);
return this;
}
public checkCurrentRatingsEarlyYearsProvisionJudgementsPresent(): this {
- this.elements.currentRatings.earlyYearsProvision().each(this.checkValueIsValidOfstedRating);
+ this.elements.currentRatings.earlyYearsProvision().each(this.checkValueIsValidCurrentOfstedRating);
return this;
}
public checkCurrentRatingsSixthFormProvisionJudgementsPresent(): this {
- this.elements.currentRatings.sixthFormProvision().each(this.checkValueIsValidOfstedRating);
+ this.elements.currentRatings.sixthFormProvision().each(this.checkValueIsValidCurrentOfstedRating);
return this;
}
@@ -340,37 +352,37 @@ class OfstedPage {
}
public checkPreviousRatingsQualityOfEducationJudgementsPresent(): this {
- this.elements.previousRatings.qualityOfEducation().each(this.checkValueIsValidOfstedRating);
+ this.elements.previousRatings.qualityOfEducation().each(this.checkValueIsValidPreviousOfstedRating);
return this;
}
public checkPreviousRatingsBehaviourAndAttitudesJudgementsPresent(): this {
- this.elements.previousRatings.behaviourAndAttitudes().each(this.checkValueIsValidOfstedRating);
+ this.elements.previousRatings.behaviourAndAttitudes().each(this.checkValueIsValidPreviousOfstedRating);
return this;
}
public checkPreviousRatingsPersonalDevelopmentJudgementsPresent(): this {
- this.elements.previousRatings.personalDevelopment().each(this.checkValueIsValidOfstedRating);
+ this.elements.previousRatings.personalDevelopment().each(this.checkValueIsValidPreviousOfstedRating);
return this;
}
public checkPreviousRatingsLeadershipAndManagementJudgementsPresent(): this {
- this.elements.previousRatings.leadershipAndManagement().each(this.checkValueIsValidOfstedRating);
+ this.elements.previousRatings.leadershipAndManagement().each(this.checkValueIsValidPreviousOfstedRating);
return this;
}
public checkPreviousRatingsEarlyYearsProvisionJudgementsPresent(): this {
- this.elements.previousRatings.earlyYearsProvision().each(this.checkValueIsValidOfstedRating);
+ this.elements.previousRatings.earlyYearsProvision().each(this.checkValueIsValidPreviousOfstedRating);
return this;
}
public checkPreviousRatingsSixthFormProvisionJudgementsPresent(): this {
- this.elements.previousRatings.sixthFormProvision().each(this.checkValueIsValidOfstedRating);
+ this.elements.previousRatings.sixthFormProvision().each(this.checkValueIsValidPreviousOfstedRating);
return this;
}
public checkPreviousRatingsBeforeOrAfterJoiningJudgementsPresent(): this {
- this.elements.previousRatings.beforeOrAfterJoining().each(this.checkValueIsValidBeforeOrAfterJoiningTag);
+ this.elements.previousRatings.beforeOrAfterJoining().each((element) => this.checkElementMatches(element, /^(Before|After|Not inspected)$/));
return this;
}
From 66bedf69f02078cd0f347ccfc7cad1a585a436be Mon Sep 17 00:00:00 2001
From: Sara Gowen <9001998+dynamictulip@users.noreply.github.com>
Date: Thu, 30 Jan 2025 18:11:15 +0000
Subject: [PATCH 18/21] Improve mutation score on academies repo
---
.../AcademyRepositoryOfstedTests.cs | 74 +++++++++++++------
.../Mocks/MockLogger.cs | 24 ++++--
2 files changed, 70 insertions(+), 28 deletions(-)
diff --git a/tests/DfE.FindInformationAcademiesTrusts.Data.AcademiesDb.UnitTests/Repositories/AcademyRepositoryOfstedTests.cs b/tests/DfE.FindInformationAcademiesTrusts.Data.AcademiesDb.UnitTests/Repositories/AcademyRepositoryOfstedTests.cs
index 108ca7751..b79052a7c 100644
--- a/tests/DfE.FindInformationAcademiesTrusts.Data.AcademiesDb.UnitTests/Repositories/AcademyRepositoryOfstedTests.cs
+++ b/tests/DfE.FindInformationAcademiesTrusts.Data.AcademiesDb.UnitTests/Repositories/AcademyRepositoryOfstedTests.cs
@@ -667,7 +667,7 @@ public async Task
GetAcademiesInTrustOfstedAsync_should_remove_single_headline_grades_issued_after_2nd_sept_2024()
{
// Arrange
- var giasGroupLinks = AddGiasGroupLinksToMockDb(8);
+ var giasGroupLinks = AddGiasGroupLinksToMockDb(10);
// - Add non-further eds
_mockAcademiesDbContext.AddEstablishmentsFiat(
@@ -700,12 +700,22 @@ public async Task
PreviousFullInspectionOverallEffectiveness = "4",
InspectionStartDate = "01/01/2025",
PreviousInspectionStartDate = "02/09/2024"
- });
+ },
+ new MisMstrEstablishmentFiat // OverallEffectiveness before policy change date
+ {
+ Urn = int.Parse(giasGroupLinks[4].Urn!),
+ OverallEffectiveness = "1",
+ PreviousFullInspectionOverallEffectiveness = "2",
+ InspectionStartDate = "01/09/2024",
+ PreviousInspectionStartDate = "01/01/2021"
+ }
+ );
+
// - Add further eds
_mockAcademiesDbContext.AddFurtherEducationEstablishmentsFiat(
new MisMstrFurtherEducationEstablishmentFiat // OverallEffectiveness set after policy change date
{
- ProviderUrn = int.Parse(giasGroupLinks[4].Urn!),
+ ProviderUrn = int.Parse(giasGroupLinks[5].Urn!),
OverallEffectiveness = "1",
PreviousOverallEffectiveness = "3",
LastDayOfInspection = "01/01/2025",
@@ -713,14 +723,14 @@ public async Task
},
new MisMstrFurtherEducationEstablishmentFiat // OverallEffectiveness set on policy change date
{
- ProviderUrn = int.Parse(giasGroupLinks[5].Urn!),
+ ProviderUrn = int.Parse(giasGroupLinks[6].Urn!),
OverallEffectiveness = "2",
LastDayOfInspection = "02/09/2024"
},
new
MisMstrFurtherEducationEstablishmentFiat // PreviousFullInspectionOverallEffectiveness set after policy change date
{
- ProviderUrn = int.Parse(giasGroupLinks[6].Urn!),
+ ProviderUrn = int.Parse(giasGroupLinks[7].Urn!),
OverallEffectiveness = "Not judged",
PreviousOverallEffectiveness = "3",
LastDayOfInspection = "01/01/2025",
@@ -729,12 +739,20 @@ public async Task
new
MisMstrFurtherEducationEstablishmentFiat // PreviousFullInspectionOverallEffectiveness set on policy change date
{
- ProviderUrn = int.Parse(giasGroupLinks[7].Urn!),
+ ProviderUrn = int.Parse(giasGroupLinks[8].Urn!),
OverallEffectiveness = "Not judged",
PreviousOverallEffectiveness = "4",
LastDayOfInspection = "01/01/2025",
PreviousLastDayOfInspection = "02/09/2024"
- }
+ },
+ new MisMstrFurtherEducationEstablishmentFiat // OverallEffectiveness before policy change date
+ {
+ ProviderUrn = int.Parse(giasGroupLinks[9].Urn!),
+ OverallEffectiveness = "1",
+ PreviousOverallEffectiveness = "2",
+ LastDayOfInspection = "01/09/2024",
+ PreviousLastDayOfInspection = "01/01/2021"
+ }
);
// Act
@@ -771,6 +789,13 @@ public async Task
rating.PreviousOfstedRating.OverallEffectiveness.Should()
.Be(OfstedRatingScore.SingleHeadlineGradeNotAvailable);
},
+ rating => // OverallEffectiveness before policy change date
+ {
+ rating.CurrentOfstedRating.OverallEffectiveness.Should()
+ .NotBe(OfstedRatingScore.SingleHeadlineGradeNotAvailable);
+ rating.PreviousOfstedRating.OverallEffectiveness.Should()
+ .NotBe(OfstedRatingScore.SingleHeadlineGradeNotAvailable);
+ },
// Further eds
rating => // OverallEffectiveness set after policy change date
@@ -800,26 +825,29 @@ public async Task
.Be(OfstedRatingScore.SingleHeadlineGradeNotAvailable);
rating.PreviousOfstedRating.OverallEffectiveness.Should()
.Be(OfstedRatingScore.SingleHeadlineGradeNotAvailable);
+ },
+ rating => // OverallEffectiveness before policy change date
+ {
+ rating.CurrentOfstedRating.OverallEffectiveness.Should()
+ .NotBe(OfstedRatingScore.SingleHeadlineGradeNotAvailable);
+ rating.PreviousOfstedRating.OverallEffectiveness.Should()
+ .NotBe(OfstedRatingScore.SingleHeadlineGradeNotAvailable);
}
);
//Assert error logging occurred
- _mockLogger.VerifyLogError(
- $"URN {giasGroupLinks[0].Urn!} has a current Ofsted single headline grade of Outstanding issued");
- _mockLogger.VerifyLogError(
- $"URN {giasGroupLinks[1].Urn!} has a current Ofsted single headline grade of Good issued");
- _mockLogger.VerifyLogError(
- $"URN {giasGroupLinks[2].Urn!} has a previous Ofsted single headline grade of RequiresImprovement issued");
- _mockLogger.VerifyLogError(
- $"URN {giasGroupLinks[3].Urn!} has a previous Ofsted single headline grade of Inadequate issued");
- _mockLogger.VerifyLogError(
- $"URN {giasGroupLinks[4].Urn!} has a current Ofsted single headline grade of Outstanding issued");
- _mockLogger.VerifyLogError(
- $"URN {giasGroupLinks[5].Urn!} has a current Ofsted single headline grade of Good issued");
- _mockLogger.VerifyLogError(
- $"URN {giasGroupLinks[6].Urn!} has a previous Ofsted single headline grade of RequiresImprovement issued");
- _mockLogger.VerifyLogError(
- $"URN {giasGroupLinks[7].Urn!} has a previous Ofsted single headline grade of Inadequate issued");
+ _mockLogger.VerifyLogErrors(
+ $"URN {giasGroupLinks[0].Urn!} has a current Ofsted single headline grade of Outstanding issued",
+ $"URN {giasGroupLinks[1].Urn!} has a current Ofsted single headline grade of Good issued",
+ $"URN {giasGroupLinks[2].Urn!} has a previous Ofsted single headline grade of RequiresImprovement issued",
+ $"URN {giasGroupLinks[3].Urn!} has a previous Ofsted single headline grade of Inadequate issued",
+ // giasGroupLinks[4] - OverallEffectiveness before policy change date so no error log expected
+ $"URN {giasGroupLinks[5].Urn!} has a current Ofsted single headline grade of Outstanding issued",
+ $"URN {giasGroupLinks[6].Urn!} has a current Ofsted single headline grade of Good issued",
+ $"URN {giasGroupLinks[7].Urn!} has a previous Ofsted single headline grade of RequiresImprovement issued",
+ $"URN {giasGroupLinks[8].Urn!} has a previous Ofsted single headline grade of Inadequate issued"
+ // giasGroupLinks[9] - OverallEffectiveness before policy change date so no error log expected
+ );
_mockLogger.VerifyNoOtherCalls();
}
diff --git a/tests/DfE.FindInformationAcademiesTrusts.UnitTests/Mocks/MockLogger.cs b/tests/DfE.FindInformationAcademiesTrusts.UnitTests/Mocks/MockLogger.cs
index 9ae12d4dc..2ef09d27f 100644
--- a/tests/DfE.FindInformationAcademiesTrusts.UnitTests/Mocks/MockLogger.cs
+++ b/tests/DfE.FindInformationAcademiesTrusts.UnitTests/Mocks/MockLogger.cs
@@ -1,3 +1,4 @@
+using System.Text.RegularExpressions;
using Microsoft.Extensions.Logging;
namespace DfE.FindInformationAcademiesTrusts.UnitTests.Mocks;
@@ -14,21 +15,34 @@ public MockLogger VerifyLogWarning(string expectedMessage)
return VerifyLog(LogLevel.Warning, expectedMessage);
}
- public MockLogger VerifyLogError(string expectedMessage)
+ public MockLogger VerifyLogError(string regexPattern)
{
- return VerifyLog(LogLevel.Error, expectedMessage);
+ VerifyLog(LogLevel.Error, regexPattern);
+ return this;
+ }
+
+ public MockLogger VerifyLogErrors(params string[] regexPatterns)
+ {
+ foreach (var regexPattern in regexPatterns)
+ {
+ VerifyLogError(regexPattern);
+ }
+
+ return this;
}
- private MockLogger VerifyLog(LogLevel expectedLogLevel, string expectedMessage)
+ private MockLogger VerifyLog(LogLevel expectedLogLevel, string regexPattern)
{
Verify(
mock => mock.Log(
It.Is(logLevel => logLevel == expectedLogLevel),
It.IsAny(),
- It.Is((v, t) => v.ToString()!.Contains(expectedMessage)),
+ It.Is((v, t) => Regex.IsMatch(v.ToString()!, regexPattern, RegexOptions.NonBacktracking)),
It.IsAny(),
It.IsAny>()
- ), Times.Once, $"Couldn't find {expectedLogLevel} log containing \"{expectedMessage}\""
+ ),
+ Times.Once,
+ $"Couldn't find {expectedLogLevel} log matching \"{regexPattern}\""
);
return this;
From 68fe1a891874a23271cefa40bbf845d951884033 Mon Sep 17 00:00:00 2001
From: Sara Gowen <9001998+dynamictulip@users.noreply.github.com>
Date: Fri, 31 Jan 2025 15:33:57 +0000
Subject: [PATCH 19/21] Added test for "Not inspected" and "Not yet inspected"
to export
Also added in an enum to keep track of column numbers
---
.../Services/ExportServiceTests.cs | 68 ++++++++++++++++---
1 file changed, 59 insertions(+), 9 deletions(-)
diff --git a/tests/DfE.FindInformationAcademiesTrusts.UnitTests/Services/ExportServiceTests.cs b/tests/DfE.FindInformationAcademiesTrusts.UnitTests/Services/ExportServiceTests.cs
index aac10fc45..7b85c64a5 100644
--- a/tests/DfE.FindInformationAcademiesTrusts.UnitTests/Services/ExportServiceTests.cs
+++ b/tests/DfE.FindInformationAcademiesTrusts.UnitTests/Services/ExportServiceTests.cs
@@ -4,6 +4,7 @@
using DfE.FindInformationAcademiesTrusts.Data.Repositories.Trust;
using DfE.FindInformationAcademiesTrusts.Services.Export;
using DfE.FindInformationAcademiesTrusts.Services.Trust;
+using FluentAssertions.Execution;
namespace DfE.FindInformationAcademiesTrusts.UnitTests.Services;
@@ -516,20 +517,69 @@ public async Task ExportOfstedDataToSpreadsheet_ShouldHandleNoOfstedDataAsync()
.ReturnsAsync(new TrustSummary("Test Trust", "Multi-academy trust"));
_mockAcademyRepository.Setup(m => m.GetAcademiesInTrustDetailsAsync("uid"))
- .ReturnsAsync(new AcademyDetails[]
- {
- new("A123", "Academy XYZ", "TypeX", "Local LA", "Urban")
- });
+ .ReturnsAsync([
+ new AcademyDetails("A123", "Academy XYZ", "TypeX", "Local LA", "Urban")
+ ]);
- _mockAcademyRepository.Setup(m => m.GetAcademiesInTrustOfstedAsync("uid"))
- .ReturnsAsync(Array.Empty());
+ _mockAcademyRepository.Setup(m => m.GetAcademiesInTrustOfstedAsync("uid")).ReturnsAsync([]);
var result = await _sut.ExportOfstedDataToSpreadsheetAsync("uid");
using var workbook = new XLWorkbook(new MemoryStream(result));
var worksheet = workbook.Worksheet("Ofsted");
- // If no Ofsted data, we get default "Not yet inspected"
- worksheet.Cell(4, 5).Value.ToString().Should().Be("Not yet inspected");
- worksheet.Cell(4, 3).Value.ToString().Should().Be(string.Empty); // date of current inspection empty
+ using var scope = new AssertionScope();
+
+ //Current inspection
+ Cell(worksheet, 4, OfstedColumns.DateOfCurrentInspection).Should().Be(string.Empty);
+ Cell(worksheet, 4, OfstedColumns.CurrentBeforeAfterJoining).Should().Be(string.Empty);
+ Cell(worksheet, 4, OfstedColumns.CurrentQualityOfEducation).Should().Be("Not yet inspected");
+ Cell(worksheet, 4, OfstedColumns.CurrentBehaviourAndAttitudes).Should().Be("Not yet inspected");
+ Cell(worksheet, 4, OfstedColumns.CurrentPersonalDevelopment).Should().Be("Not yet inspected");
+ Cell(worksheet, 4, OfstedColumns.CurrentLeadershipAndManagement).Should().Be("Not yet inspected");
+ Cell(worksheet, 4, OfstedColumns.CurrentEarlyYearsProvision).Should().Be("Not yet inspected");
+ Cell(worksheet, 4, OfstedColumns.CurrentSixthFormProvision).Should().Be("Not yet inspected");
+
+ //Previous inspection
+ Cell(worksheet, 4, OfstedColumns.DateOfPreviousInspection).Should().Be(string.Empty);
+ Cell(worksheet, 4, OfstedColumns.PreviousBeforeAfterJoining).Should().Be(string.Empty);
+ Cell(worksheet, 4, OfstedColumns.PreviousQualityOfEducation).Should().Be("Not inspected");
+ Cell(worksheet, 4, OfstedColumns.PreviousBehaviourAndAttitudes).Should().Be("Not inspected");
+ Cell(worksheet, 4, OfstedColumns.PreviousPersonalDevelopment).Should().Be("Not inspected");
+ Cell(worksheet, 4, OfstedColumns.PreviousLeadershipAndManagement).Should().Be("Not inspected");
+ Cell(worksheet, 4, OfstedColumns.PreviousEarlyYearsProvision).Should().Be("Not inspected");
+ Cell(worksheet, 4, OfstedColumns.PreviousSixthFormProvision).Should().Be("Not inspected");
+
+ //Safeguarding and concerns
+ Cell(worksheet, 4, OfstedColumns.EffectiveSafeguarding).Should().Be("Not yet inspected");
+ Cell(worksheet, 4, OfstedColumns.CategoryOfConcern).Should().Be("Not yet inspected");
+ }
+
+ private static string Cell(IXLWorksheet worksheet, int rowNumber, OfstedColumns column)
+ {
+ return worksheet.Cell(rowNumber, (int)column).Value.ToString();
+ }
+
+ private enum OfstedColumns
+ {
+ SchoolName = 1,
+ DateJoined = 2,
+ DateOfCurrentInspection = 3,
+ CurrentBeforeAfterJoining = 4,
+ CurrentQualityOfEducation = 5,
+ CurrentBehaviourAndAttitudes = 6,
+ CurrentPersonalDevelopment = 7,
+ CurrentLeadershipAndManagement = 8,
+ CurrentEarlyYearsProvision = 9,
+ CurrentSixthFormProvision = 10,
+ DateOfPreviousInspection = 11,
+ PreviousBeforeAfterJoining = 12,
+ PreviousQualityOfEducation = 13,
+ PreviousBehaviourAndAttitudes = 14,
+ PreviousPersonalDevelopment = 15,
+ PreviousLeadershipAndManagement = 16,
+ PreviousEarlyYearsProvision = 17,
+ PreviousSixthFormProvision = 18,
+ EffectiveSafeguarding = 19,
+ CategoryOfConcern = 20
}
}
From 970ce75e99ae0f536697f37dcc1d3c654296c7d7 Mon Sep 17 00:00:00 2001
From: Sara Gowen <9001998+dynamictulip@users.noreply.github.com>
Date: Fri, 31 Jan 2025 15:42:38 +0000
Subject: [PATCH 20/21] Remove "important dates" from cypress page object model
---
.../cypress/pages/trusts/ofstedPage.ts | 68 +++----------------
1 file changed, 10 insertions(+), 58 deletions(-)
diff --git a/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/pages/trusts/ofstedPage.ts b/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/pages/trusts/ofstedPage.ts
index 5b1e387a3..2ca0e8b08 100644
--- a/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/pages/trusts/ofstedPage.ts
+++ b/tests/DFE.FindInformationAcademiesTrusts.CypressTests/cypress/pages/trusts/ofstedPage.ts
@@ -113,6 +113,15 @@ class OfstedPage {
// #endregion
+ // #region All sub pages
+
+ public clickDownloadButton(): this {
+ this.elements.downloadButton().click();
+ return this;
+ }
+
+ // #endregion
+
// #region Single headline grades
public checkOfstedSHGPageHeaderPresent(): this {
this.elements.subpageHeader().should('contain', 'Single headline grades');
@@ -196,7 +205,7 @@ class OfstedPage {
return this;
}
- // #endreigon
+ // #endregion
// #region Current ratings
@@ -444,63 +453,6 @@ class OfstedPage {
}
// #endregion
- // #region Important Dates
-
- public checkOfstedImportantDatesPageHeaderPresent(): this {
- this.elements.subpageHeader().should('contain', 'Important dates');
- return this;
- }
-
- public checkOfstedImportantDatesTableHeadersPresent(): this {
- this.elements.importantDates.schoolNameHeader().should('be.visible');
- this.elements.importantDates.dateJoinedHeader().should('be.visible');
- this.elements.importantDates.dateOfCurrentInspectionHeader().should('be.visible');
- this.elements.importantDates.dateOfPreviousInspectionHeader().should('be.visible');
- return this;
- }
-
- public checkOfstedImportantDatesSorting(): this {
- TableUtility.checkStringSorting(
- this.elements.importantDates.schoolName,
- this.elements.importantDates.schoolNameHeader
- );
- TableUtility.checkStringSorting(
- this.elements.importantDates.dateJoined,
- this.elements.importantDates.dateJoinedHeader
- );
- TableUtility.checkStringSorting(
- this.elements.importantDates.dateOfCurrentInspection,
- this.elements.importantDates.dateOfCurrentInspectionHeader
- );
- TableUtility.checkStringSorting(
- this.elements.importantDates.dateOfPreviousInspection,
- this.elements.importantDates.dateOfPreviousInspectionHeader
- );
- return this;
- }
-
-
- public checkDateJoinedPresent(): this {
- this.elements.importantDates.dateJoined().each(this.checkValueIsValidDate);
- return this;
- }
-
- public checkDateOfCurrentInspectionPresent(): this {
- this.elements.importantDates.dateOfCurrentInspection().each(this.checkValueIsValidDate);
- return this;
- }
-
-
- public checkDateOfPreviousInspectionPresent(): this {
- this.elements.importantDates.dateOfPreviousInspection().each(this.checkValueIsValidDate);
- return this;
- }
-
- public clickDownloadButton(): this {
- this.elements.downloadButton().click();
- return this;
- }
- // #endregion
}
const ofstedPage = new OfstedPage();
From d134de38abc5c887de6bddc993f3e2ff00195da2 Mon Sep 17 00:00:00 2001
From: Sara Gowen <9001998+dynamictulip@users.noreply.github.com>
Date: Fri, 31 Jan 2025 16:02:51 +0000
Subject: [PATCH 21/21] Add SHG to changelog
---
CHANGELOG.md | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9d8cffc8f..e9263b970 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,8 +6,21 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
## [Unreleased][unreleased]
+### Added
+
+- Added Single headline grades Ofsted subpage
+
+### Changed
+
- Updated accessibility statement text
+- Page spacing tweak on Ofsted subpages
+- All Ofsted subpage tables - previous sub-judgements for academies with no previous inspection now say "Not inspected" (instead of "Not yet inspected" which is used for current sub-judgements)
+- Ofsted data download - previous sub-judgements for academies with no previous inspection now say "Not inspected" (instead of "Not yet inspected" which is used for current sub-judgements)
+
+### Removed
+
- Removed 'Date joined trust' from Ofsted data source list
+- Removed Important dates Ofsted subpage
## [Release-19][release-19] (production-2025-01-20.4730)
|