@ministryofjustice/hmpps-digital-prison-reporting-frontend 4.17.6 → 4.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- "use strict";var x=Object.create;var b=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var F=Object.getPrototypeOf,V=Object.prototype.hasOwnProperty;var g=(n,a,s,o)=>{if(a&&typeof a=="object"||typeof a=="function")for(let i of v(a))!V.call(n,i)&&i!==s&&b(n,i,{get:()=>a[i],enumerable:!(o=B(a,i))||o.enumerable});return n};var w=(n,a,s)=>(s=n!=null?x(F(n)):{},g(a||!n||!n.__esModule?b(s,"default",{value:n,enumerable:!0}):s,n));var l=require("../../../../../../../cypress-tests/cypressUtils"),f=w(require("../../../../../utils/DateMapper/DateMapper"));context("Viewing a report",()=>{const n="/embedded/platform/";let a,s;describe("List report page",()=>{before(()=>{(0,l.executeReportStubs)(),cy.task("stubDefinitionRequestExamplesSuccess"),cy.task("stubRequestSuccessResult10"),cy.task("stubRequestSuccessResult20"),cy.task("stubRequestSuccessResult100"),(0,l.requestReport)({name:"Successful Report",description:"this will succeed",path:n}),cy.url().then(o=>{a=o;const i=o.split("/");s=i[i.length-2]})}),beforeEach(()=>{cy.visit(a)}),describe("Report details",()=>{it("should show the report details",()=>{cy.findAllByRole("group").contains("Report details").should("be.visible").click(),cy.findAllByRole("group").contains("Report details").parent().parent().within(()=>{cy.findAllByRole("row").each((o,i)=>{cy.wrap(o).within(()=>{switch(i){case 0:cy.findAllByRole("cell",{name:"Name:"}).should("exist"),cy.findAllByRole("cell",{name:"Successful Report"}).should("exist");break;case 1:cy.findAllByRole("cell",{name:"Product:"}).should("exist"),cy.findAllByRole("cell",{name:"Successful Report"}).should("exist");break;case 2:cy.findAllByRole("cell",{name:"Description:"}).should("exist"),cy.findAllByRole("cell",{name:"this will succeed"}).should("exist");break;case 3:cy.findAllByRole("cell",{name:"Classification:"}).should("exist"),cy.findAllByRole("cell",{name:"OFFICIAL"}).should("exist");break;case 4:cy.findAllByRole("cell",{name:"Requested at:"}).should("exist"),cy.findAllByRole("cell",{name:/\d{1,2}\/\d{1,2}\/\d{2,4}/}).should("exist");break;case 5:cy.findAllByRole("cell",{name:"Applied Filters:"}).should("exist"),cy.findAllByRole("listitem").each((c,e)=>{switch(e){case 0:cy.wrap(c).contains("Field 1: value1.2");break;case 1:cy.wrap(c).contains("Field 3 start: 01/02/2003");break;case 2:cy.wrap(c).contains("Field 3 end: 04/05/2006");break;case 3:cy.wrap(c).contains("Field 7: 01/02/2005");break;case 4:cy.wrap(c).contains("Field 8: value8.2,value8.3");break;case 5:cy.wrap(c).contains("Sort column: Field 1");break;case 6:cy.wrap(c).contains("Sort direction: Descending");break;default:break}});break;default:break}})})})})}),describe("Actions",()=>{it("should show the actions and go to the filters page when refresh action is clicked",()=>{cy.findByLabelText("Refresh report").should("be.visible"),cy.findByLabelText(/Print screen/).should("be.visible").should("be.disabled"),cy.findByLabelText(/download/).should("be.visible"),cy.findByLabelText(/Copy report link/).should("be.visible"),cy.findByRole("button",{name:/Add bookmark/}).should("be.visible"),cy.findByLabelText("Refresh report").should("be.visible").click(),cy.url().should("match",/.*\/embedded\/platform\/dpr\/request-report\/report\/request-examples\/request-example-success\/filters/i),cy.location().should(o=>{expect(o.search).to.contain("filters.field1=value1.2"),expect(o.search).to.contain("filters.field3.start=2003-02-01"),expect(o.search).to.contain("filters.field3.end=2006-05-04"),expect(o.search).to.contain("filters.field7=2005-02-01"),expect(o.search).to.contain("filters.field8=value8.2&filters.field8=value8.3")})})}),describe("Column interactions",()=>{const o=()=>{cy.findByRole("checkbox",{name:"Field 1"}).should("be.checked"),cy.findByRole("checkbox",{name:"Field 2"}).should("be.checked").should("be.disabled"),cy.findByRole("checkbox",{name:"Field 3"}).should("be.checked"),cy.findByRole("checkbox",{name:"Field 4"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 5"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 6"}).should("be.checked").should("be.disabled"),cy.findByRole("checkbox",{name:"Field 7"}).should("be.checked"),cy.findByRole("checkbox",{name:"Field 8"}).should("not.be.checked"),cy.location().should(e=>{expect(e.search).to.contain("columns=field1"),expect(e.search).to.contain("columns=field2"),expect(e.search).to.contain("columns=field3"),expect(e.search).not.to.contain("columns=field4"),expect(e.search).not.to.contain("columns=field5"),expect(e.search).to.contain("columns=field6"),expect(e.search).to.contain("columns=field7"),expect(e.search).not.to.contain("columns=field8")}),cy.findByLabelText(/Successful Report/).within(()=>{cy.findAllByRole("rowgroup").eq(0).within(()=>{cy.findAllByRole("row").eq(1).within(()=>{cy.findAllByRole("columnheader").should("have.length",5)})})})},i=()=>{cy.findByRole("checkbox",{name:"Field 1"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 2"}).should("be.checked").should("be.disabled"),cy.findByRole("checkbox",{name:"Field 3"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 4"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 5"}).should("be.checked"),cy.findByRole("checkbox",{name:"Field 6"}).should("be.checked").should("be.disabled"),cy.findByRole("checkbox",{name:"Field 7"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 8"}).should("be.checked"),cy.location().should(e=>{expect(e.search).not.to.contain("columns=field1"),expect(e.search).to.contain("columns=field2"),expect(e.search).not.to.contain("columns=field3"),expect(e.search).not.to.contain("columns=field4"),expect(e.search).to.contain("columns=field5"),expect(e.search).to.contain("columns=field6"),expect(e.search).not.to.contain("columns=field7"),expect(e.search).to.contain("columns=field8")}),cy.findByLabelText(/Successful Report/).within(()=>{cy.findAllByRole("rowgroup").eq(0).within(()=>{cy.findAllByRole("row").eq(1).within(()=>{cy.findAllByRole("columnheader").should("have.length",4)})})})},c=()=>{cy.findByRole("checkbox",{name:"Field 1"}).uncheck(),cy.findByRole("checkbox",{name:"Field 3"}).uncheck(),cy.findByRole("checkbox",{name:"Field 5"}).check(),cy.findByRole("checkbox",{name:"Field 7"}).uncheck(),cy.findByRole("checkbox",{name:"Field 8"}).check()};it("should initialise the column content correctly",()=>{cy.findAllByRole("group").contains(/Show columns/).should("be.visible").click(),o(),cy.findAllByRole("group").contains("Show columns (5 of 8 shown)"),cy.findByLabelText(/Successful Report/).within(()=>{cy.findAllByRole("rowgroup").eq(0).within(()=>{cy.findAllByRole("columnheader").each((e,d)=>{switch(d){case 0:cy.wrap(e).contains("Field 1");break;case 1:cy.wrap(e).contains("Field 2");break;case 2:cy.wrap(e).contains("Field 3");break;case 3:cy.wrap(e).contains("Field 6");break;case 4:cy.wrap(e).contains("Field 7");break;default:break}})})})}),it("should apply the columns",()=>{cy.findAllByRole("group").contains(/Show columns/).click(),c(),cy.findByRole("button",{name:"Apply columns"}).click(),i(),cy.findByLabelText(/Successful Report/).within(()=>{cy.findAllByRole("rowgroup").eq(0).within(()=>{cy.findAllByRole("columnheader").each((e,d)=>{switch(d){case 0:cy.wrap(e).contains("Field 2");break;case 1:cy.wrap(e).contains("Field 5");break;case 2:cy.wrap(e).contains("Field 6");break;case 3:cy.wrap(e).contains("Field 8");break;default:break}})})})}),it("should reset the columns to their DPD defaults",()=>{cy.findAllByRole("group").contains(/Show columns/).click(),c(),cy.findByRole("button",{name:"Apply columns"}).click(),i(),cy.findAllByRole("group").contains(/Show columns/).click(),cy.findByRole("link",{name:"Reset columns"}).click(),o()}),it("should apply the columns from the URL",()=>{cy.visit(`/embedded/platform/dpr/view-report/async/report/request-examples/request-example-success/${s}/report?columns=field1&columns=field5&columns=field8`),cy.findByRole("checkbox",{name:"Field 1"}).should("be.checked"),cy.findByRole("checkbox",{name:"Field 2"}).should("be.checked").should("be.disabled"),cy.findByRole("checkbox",{name:"Field 3"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 4"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 5"}).should("be.checked"),cy.findByRole("checkbox",{name:"Field 6"}).should("be.checked").should("be.disabled"),cy.findByRole("checkbox",{name:"Field 7"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 8"}).should("be.checked"),cy.findByLabelText(/Successful Report/).within(()=>{cy.findAllByRole("rowgroup").eq(0).within(()=>{cy.findAllByRole("columnheader").each((e,d)=>{switch(d){case 0:cy.wrap(e).contains("Field 1");break;case 1:cy.wrap(e).contains("Field 2");break;case 2:cy.wrap(e).contains("Field 5");break;case 3:cy.wrap(e).contains("Field 6");break;case 4:cy.wrap(e).contains("Field 8");break;default:break}})})})}),it("should only apply mandatory columms",()=>{cy.findAllByRole("group").contains(/Show columns/).click(),cy.findByRole("checkbox",{name:"Field 1"}).uncheck(),cy.findByRole("checkbox",{name:"Field 3"}).uncheck(),cy.findByRole("checkbox",{name:"Field 7"}).uncheck(),cy.findByRole("button",{name:"Apply columns"}).click(),cy.findByRole("checkbox",{name:"Field 1"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 2"}).should("be.checked").should("be.disabled"),cy.findByRole("checkbox",{name:"Field 3"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 4"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 5"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 6"}).should("be.checked").should("be.disabled"),cy.findByRole("checkbox",{name:"Field 7"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 8"}).should("not.be.checked"),cy.location().should(e=>{expect(e.search).not.to.contain("columns=field1"),expect(e.search).to.contain("columns=field2"),expect(e.search).not.to.contain("columns=field3"),expect(e.search).not.to.contain("columns=field4"),expect(e.search).not.to.contain("columns=field5"),expect(e.search).to.contain("columns=field6"),expect(e.search).not.to.contain("columns=field7"),expect(e.search).not.to.contain("columns=field8")}),cy.findByLabelText(/Successful Report/).within(()=>{cy.findAllByRole("rowgroup").eq(0).within(()=>{cy.findAllByRole("row").eq(1).within(()=>{cy.findAllByRole("columnheader").should("have.length",2)})})})})}),describe("Paging interaction",()=>{it("should show the table totals",()=>{cy.findAllByRole("paragraph").contains(/Showing \d{1,4} to \d{1,4} of \d{1,4} results/).should("exist"),cy.findByLabelText(/Successful Report/).within(()=>{cy.findAllByRole("rowgroup").eq(1).within(()=>{cy.findAllByRole("row").should("have.length",20)})})}),it("should change the page size",()=>{cy.get("#page-size-select").select("10"),cy.findAllByRole("paragraph").contains(/Showing 1 to 10 of 100 results/).should("exist"),cy.findByLabelText(/Successful Report/).within(()=>{cy.findAllByRole("rowgroup").eq(1).within(()=>{cy.findAllByRole("row").should("have.length",10)})})}),it("should change the page size via the URL",()=>{cy.visit(`/embedded/platform/dpr/view-report/async/report/request-examples/request-example-success/${s}/report?pageSize=100`),cy.findAllByRole("paragraph").contains(/100 total results/).should("exist"),cy.findByLabelText(/Successful Report/).within(()=>{cy.findAllByRole("rowgroup").eq(1).within(()=>{cy.findAllByRole("row").should("have.length",100)})})}),it("should change the page",()=>{cy.findByLabelText("Page 5").click(),cy.location().should(o=>{expect(o.search).to.contain("selectedPage=5")})}),it("should change the page via the URL",()=>{cy.visit(`/embedded/platform/dpr/view-report/async/report/request-examples/request-example-success/${s}/report?selectedPage=3`),cy.findByRole("link",{current:"page"}).contains("3")})})}),describe("Interactive report",()=>{const o=()=>{cy.findByRole("button",{name:"Apply filters"}).click()},i=()=>{cy.findAllByRole("group").contains(/Show filters/).click()};before(()=>{(0,l.executeReportStubs)(),cy.task("stubDefinitionFeatureTestingInteractive"),cy.task("stubAsyncRequestSuccessReportTablesCount"),cy.task("stubRequestSuccessResult20"),cy.task("stubRequestSuccessResult100")}),describe("Apply filters",()=>{before(()=>{(0,l.requestReport)({name:"Interactive Report",description:"this is an interactive report",path:n}),cy.url().then(e=>{a=e})}),beforeEach(()=>{cy.visit(a)});const c=()=>{for(let e=0;e<4;e+=1)cy.findByLabelText("Selected filters").within(()=>{cy.findAllByRole("link").first().click()})};describe("Date range",()=>{it("should apply the date range",()=>{cy.findByRole("textbox",{name:"From"}).should("have.value","01/02/2003"),cy.findByRole("textbox",{name:"To"}).should("have.value","04/05/2006"),c(),i(),cy.findByRole("textbox",{name:"From"}).type("02/05/2025"),cy.findByRole("textbox",{name:"To"}).type("05/07/2025").blur(),o(),cy.location().should(e=>{expect(e.search).to.contain("filters.field3.start=2025-05-02"),expect(e.search).to.contain("filters.field3.end=2025-07-05")}),(0,l.checkSelectedFilterValues)({length:2,buttonValues:[{key:"Field 3",value:"02/05/2025 - 05/07/2025"}]})}),it("should apply the relative daterange",()=>{c(),i(),cy.findByRole("tab",{name:"Preset date ranges"}).click(),cy.findByRole("radio",{name:"Tomorrow"}).check(),o();let e,d;cy.findByRole("textbox",{name:"From"}).invoke("val").should("not.be.empty").then(t=>{e=t}),cy.findByRole("textbox",{name:"To"}).invoke("val").should("not.be.empty").then(t=>{d=t});const u=new f.default;cy.location().should(t=>{expect(t.search).to.contain(`filters.field3.start=${u.toDateString(e,"iso")}`),expect(t.search).to.contain(`filters.field3.end=${u.toDateString(d,"iso")}`),expect(t.search).to.contain("filters.field3.relative-duration=tomorrow")}),(0,l.checkSelectedFilterValues)({length:2,buttonValues:[{key:"Field 3",value:"Tomorrow"}]})})}),describe("Multiselect",()=>{it("should apply the multiselect values",()=>{cy.findByRole("checkbox",{name:"Value 8.2"}).should("be.checked"),cy.findByRole("checkbox",{name:"Value 8.3"}).should("be.checked"),c(),cy.findByRole("checkbox",{name:"Value 8.1"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.2"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.3"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.4"}).should("not.be.checked"),i(),cy.findByRole("checkbox",{name:"Value 8.1"}).check(),cy.findByRole("checkbox",{name:"Value 8.3"}).check(),o(),cy.findByRole("checkbox",{name:"Value 8.1"}).should("be.checked"),cy.findByRole("checkbox",{name:"Value 8.2"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.3"}).should("be.checked"),cy.findByRole("checkbox",{name:"Value 8.4"}).should("not.be.checked"),(0,l.checkSelectedFilterValues)({length:2,buttonValues:[{key:"Field 8",value:"Value 8.1, Value 8.3"}]})}),it("should set the selected filter values correctly",()=>{cy.findByRole("checkbox",{name:"Value 8.2"}).should("be.checked"),cy.findByRole("checkbox",{name:"Value 8.3"}).should("be.checked"),c(),cy.findByRole("checkbox",{name:"Value 8.1"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.2"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.3"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.4"}).should("not.be.checked"),i(),cy.findByRole("checkbox",{name:"Value 8.1"}).check(),cy.findByRole("checkbox",{name:"Value 8.2"}).check(),cy.findByRole("checkbox",{name:"Value 8.3"}).check(),cy.findByRole("checkbox",{name:"Value 8.4"}).check(),o(),cy.findByRole("checkbox",{name:"Value 8.1"}).should("be.checked"),cy.findByRole("checkbox",{name:"Value 8.2"}).should("be.checked"),cy.findByRole("checkbox",{name:"Value 8.3"}).should("be.checked"),cy.findByRole("checkbox",{name:"Value 8.4"}).should("be.checked"),(0,l.checkSelectedFilterValues)({length:2,buttonValues:[{key:"Field 8",value:"Value 8.1, Value 8.2, Value 8.3 + 1 more"}]})}),it("should set the values correctly when only one checkbox selected",()=>{c(),cy.findByRole("checkbox",{name:"Value 8.1"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.2"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.3"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.4"}).should("not.be.checked"),i(),cy.findByRole("checkbox",{name:"Value 8.1"}).check(),o(),cy.findByRole("checkbox",{name:"Value 8.1"}).should("be.checked"),cy.findByRole("checkbox",{name:"Value 8.2"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.3"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.4"}).should("not.be.checked"),(0,l.checkSelectedFilterValues)({length:2,buttonValues:[{key:"Field 8",value:"Value 8.1"}]})})}),it("Applying filters should persist current applied columns",()=>{cy.findAllByRole("group").contains(/Show columns/).should("be.visible").click(),cy.findByRole("checkbox",{name:"Field 1"}).uncheck(),cy.findByRole("checkbox",{name:"Field 3"}).uncheck(),cy.findByRole("checkbox",{name:"Field 5"}).check(),cy.findByRole("checkbox",{name:"Field 7"}).uncheck(),cy.findByRole("checkbox",{name:"Field 8"}).check(),cy.findByRole("button",{name:"Apply columns"}).click(),cy.findAllByRole("group").contains("Show columns (4 of 8 shown)"),i(),cy.findByRole("checkbox",{name:"Value 8.1"}).check(),cy.findByRole("checkbox",{name:"Value 8.3"}).check(),o(),cy.findAllByRole("group").contains("Show columns (4 of 8 shown)")})}),describe("User defined interactive defaults",()=>{const c=()=>cy.findByRole("button",{name:"Save current filter values as defaults"}),e=()=>cy.findByRole("button",{name:"Update defaults"}),d=()=>cy.findByRole("button",{name:"Delete defaults"}),u=({name:t,product:h,length:m,selectedFilters:k})=>{cy.findByLabelText(/Viewed \(/).within(()=>{cy.findByRole("row",{name:(r,y)=>!!y.textContent?.includes(t)&&!!y.textContent?.includes(h)}).within(()=>{cy.findAllByRole("listitem").should("have.length",m).each((r,y)=>{if(k[y]){const{key:p,value:R}=k[y];cy.wrap(r).contains(p),cy.wrap(r).contains(R)}})})})};it("should save the interactive filters correctly",()=>{(0,l.requestReport)({name:"Interactive Report",description:"this is an interactive report",path:n}),(0,l.checkSelectedFilterValues)({length:5,buttonValues:[{key:"Field 1",value:"Value 1.2"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.2, Value 8.3"}]}),i(),cy.findByRole("checkbox",{name:"Value 8.1"}).check(),cy.findByRole("checkbox",{name:"Value 8.4"}).check(),cy.findByRole("combobox",{name:"Field 2"}).select("value2.2"),o();const t=[{key:"Field 1",value:"Value 1.2"},{key:"Field 2",value:"Value 2.2"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.1, Value 8.2, Value 8.3 + 1 more"}];(0,l.checkSelectedFilterValues)({length:6,buttonValues:t}),c().click(),e().should("exist"),d().should("exist"),(0,l.checkSelectedFilterValues)({length:6,buttonValues:t})}),it("should init the report with saved interactive defaults",()=>{(0,l.requestReport)({name:"Interactive Report",description:"this is an interactive report",path:n}),cy.url().then(h=>{a=h}),e().should("exist"),d().should("exist");const t=[{key:"Field 1",value:"Value 1.2"},{key:"Field 2",value:"Value 2.2"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.1, Value 8.2, Value 8.3 + 1 more"}];(0,l.checkSelectedFilterValues)({length:6,buttonValues:t}),cy.visit(n),cy.findByRole("tab",{name:/Viewed/}).click(),u({name:"Interactive Report",product:"Interactive Report",length:5,selectedFilters:t})}),it("should reset the filter values to the saved defaults",()=>{cy.visit(a),e().should("exist"),d().should("exist");const t=[{key:"Field 1",value:"Value 1.2"},{key:"Field 2",value:"Value 2.2"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.1, Value 8.2, Value 8.3 + 1 more"}];(0,l.checkSelectedFilterValues)({length:6,buttonValues:t}),i(),cy.findByRole("checkbox",{name:"Value 8.1"}).uncheck(),cy.findByRole("checkbox",{name:"Value 8.3"}).uncheck(),cy.findByRole("combobox",{name:"Field 2"}).select("value2.3"),o(),(0,l.checkSelectedFilterValues)({length:6,buttonValues:[{key:"Field 1",value:"Value 1.2"},{key:"Field 2",value:"Value 2.3"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.4"}]}),cy.visit(n),cy.findByRole("tab",{name:/Viewed/}).click(),u({name:"Interactive Report",product:"Interactive Report",length:5,selectedFilters:[{key:"Field 1",value:"Value 1.2"},{key:"Field 2",value:"Value 2.3"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.4"}]}),cy.visit(a),cy.findByRole("link",{name:"Reset filters"}).click(),(0,l.checkSelectedFilterValues)({length:6,buttonValues:t}),cy.visit(n),cy.findByRole("tab",{name:/Viewed/}).click(),u({name:"Interactive Report",product:"Interactive Report",length:5,selectedFilters:t})}),it("should update the filter values and init the report with the updated interactive defaults",()=>{cy.visit(a),e().should("exist"),d().should("exist"),(0,l.checkSelectedFilterValues)({length:6,buttonValues:[{key:"Field 1",value:"Value 1.2"},{key:"Field 2",value:"Value 2.2"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.1, Value 8.2, Value 8.3 + 1 more"}]}),i(),cy.findByRole("checkbox",{name:"Value 8.1"}).uncheck(),cy.findByRole("checkbox",{name:"Value 8.3"}).uncheck(),cy.findByRole("combobox",{name:"Field 2"}).select("value2.3"),o();const t=[{key:"Field 1",value:"Value 1.2"},{key:"Field 2",value:"Value 2.3"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.2, Value 8.4"}];(0,l.checkSelectedFilterValues)({length:6,buttonValues:t}),e().click(),(0,l.checkSelectedFilterValues)({length:6,buttonValues:t}),(0,l.requestReport)({name:"Interactive Report",description:"this is an interactive report",path:n}),cy.url().then(h=>{a=h}),(0,l.checkSelectedFilterValues)({length:6,buttonValues:t}),e().should("exist"),d().should("exist"),cy.visit(n),cy.findByRole("tab",{name:/Viewed/}).click(),u({name:"Interactive Report",product:"Interactive Report",length:5,selectedFilters:t})}),it("should delete the saved defaults",()=>{cy.visit(a),(0,l.checkSelectedFilterValues)({length:6,buttonValues:[{key:"Field 1",value:"Value 1.2"},{key:"Field 2",value:"Value 2.3"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.2, Value 8.4"}]}),d().click(),(0,l.checkSelectedFilterValues)({length:5,buttonValues:[{key:"Field 1",value:"Value 1.2"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.2, Value 8.3"}]}),cy.visit(n),cy.findByRole("tab",{name:/Viewed/}).click(),u({name:"Interactive Report",product:"Interactive Report",length:4,selectedFilters:[{key:"Field 1",value:"Value 1.2"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.2, Value 8.3"}]})}),describe("Input types",()=>{describe("Relative date range",()=>{it("should save the relative daterange",()=>{(0,l.requestReport)({name:"Interactive Report",description:"this is an interactive report",path:n}),(0,l.checkSelectedFilterValues)({length:5,buttonValues:[{key:"Field 1",value:"Value 1.2"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.2, Value 8.3"}]}),i(),cy.findByRole("tab",{name:"Preset date ranges"}).click(),cy.findByRole("radio",{name:"Tomorrow"}).check(),o();const t=[{key:"Field 1",value:"Value 1.2"},{key:"Field 3",value:"Tomorrow"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.2, Value 8.3"}];(0,l.checkSelectedFilterValues)({length:5,buttonValues:t}),c().click(),e().should("exist"),d().should("exist"),(0,l.checkSelectedFilterValues)({length:5,buttonValues:t}),(0,l.requestReport)({name:"Interactive Report",description:"this is an interactive report",path:n}),(0,l.checkSelectedFilterValues)({length:5,buttonValues:t}),d().click()})}),describe("Multiselect",()=>{it("should save a single multiselect value",()=>{(0,l.requestReport)({name:"Interactive Report",description:"this is an interactive report",path:n}),(0,l.checkSelectedFilterValues)({length:5,buttonValues:[{key:"Field 1",value:"Value 1.2"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.2, Value 8.3"}]}),i(),cy.findByRole("checkbox",{name:"Value 8.3"}).uncheck(),o();const t=[{key:"Field 1",value:"Value 1.2"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.2"}];(0,l.checkSelectedFilterValues)({length:5,buttonValues:t}),c().click(),e().should("exist"),d().should("exist"),(0,l.checkSelectedFilterValues)({length:5,buttonValues:t}),(0,l.requestReport)({name:"Interactive Report",description:"this is an interactive report",path:n}),(0,l.checkSelectedFilterValues)({length:5,buttonValues:t}),d().click()})})})}),describe("Sorting",()=>{before(()=>{(0,l.requestReport)({name:"Interactive Report",description:"this is an interactive report",path:n}),cy.url().then(c=>{a=c})}),beforeEach(()=>{cy.visit(a)}),it("should show the sort direction in the column header and the url",()=>{cy.findByRole("link",{name:"Reset filters"}).click(),cy.findByRole("link",{name:"Field 1"}).should("have.class","data-table-header-button-sort-ascending"),cy.findByRole("link",{name:"Field 2"}).should("have.class","data-table-header-button-sort-none"),cy.findByRole("link",{name:"Field 1"}).click(),cy.findByRole("link",{name:"Field 1"}).should("have.class","data-table-header-button-sort-descending"),cy.findByRole("link",{name:"Field 2"}).should("have.class","data-table-header-button-sort-none"),cy.location().should(c=>{expect(c.search).to.contain("&sortColumn=field1&sortedAsc=false"),expect(c.search).to.contain("filters.field8=value8.2&filters.field8=value8.3")}),cy.findByRole("link",{name:"Field 1"}).click(),cy.findByRole("link",{name:"Field 1"}).should("have.class","data-table-header-button-sort-ascending"),cy.findByRole("link",{name:"Field 2"}).should("have.class","data-table-header-button-sort-none"),cy.location().should(c=>{expect(c.search).to.contain("&sortColumn=field1&sortedAsc=true"),expect(c.search).to.contain("filters.field8=value8.2&filters.field8=value8.3")}),cy.findByRole("link",{name:"Field 2"}).click(),cy.findByRole("link",{name:"Field 2"}).should("have.class","data-table-header-button-sort-ascending"),cy.findByRole("link",{name:"Field 1"}).should("have.class","data-table-header-button-sort-none"),cy.location().should(c=>{expect(c.search).to.contain("&sortColumn=field2&sortedAsc=true"),expect(c.search).to.contain("filters.field8=value8.2&filters.field8=value8.3")}),cy.findByRole("link",{name:"Field 2"}).click(),cy.findByRole("link",{name:"Field 2"}).should("have.class","data-table-header-button-sort-descending"),cy.findByRole("link",{name:"Field 1"}).should("have.class","data-table-header-button-sort-none"),cy.location().should(c=>{expect(c.search).to.contain("&sortColumn=field2&sortedAsc=false"),expect(c.search).to.contain("filters.field8=value8.2&filters.field8=value8.3")})})})})});
1
+ "use strict";var x=Object.create;var b=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var F=Object.getPrototypeOf,V=Object.prototype.hasOwnProperty;var g=(n,a,s,o)=>{if(a&&typeof a=="object"||typeof a=="function")for(let i of v(a))!V.call(n,i)&&i!==s&&b(n,i,{get:()=>a[i],enumerable:!(o=B(a,i))||o.enumerable});return n};var w=(n,a,s)=>(s=n!=null?x(F(n)):{},g(a||!n||!n.__esModule?b(s,"default",{value:n,enumerable:!0}):s,n));var l=require("../../../../../../../cypress-tests/cypressUtils"),f=w(require("../../../../../utils/DateMapper/DateMapper"));context("Viewing a report",()=>{const n="/embedded/platform/";let a,s;describe("List report page",()=>{before(()=>{(0,l.executeReportStubs)(),cy.task("stubDefinitionRequestExamplesSuccess"),cy.task("stubRequestSuccessResult10"),cy.task("stubRequestSuccessResult20"),cy.task("stubRequestSuccessResult100"),(0,l.requestReport)({name:"Successful Report",description:"this will succeed",path:n}),cy.url().then(o=>{a=o;const i=o.split("/");s=i[i.length-2]})}),beforeEach(()=>{cy.visit(a)}),describe("Report details",()=>{it("should show the report details",()=>{cy.findAllByRole("group").contains("Report details").should("be.visible").click(),cy.findAllByRole("group").contains("Report details").parent().parent().within(()=>{cy.findAllByRole("row").each((o,i)=>{cy.wrap(o).within(()=>{switch(i){case 0:cy.findAllByRole("cell",{name:"Name:"}).should("exist"),cy.findAllByRole("cell",{name:"Successful Report"}).should("exist");break;case 1:cy.findAllByRole("cell",{name:"Product:"}).should("exist"),cy.findAllByRole("cell",{name:"Successful Report"}).should("exist");break;case 2:cy.findAllByRole("cell",{name:"Description:"}).should("exist"),cy.findAllByRole("cell",{name:"this will succeed"}).should("exist");break;case 3:cy.findAllByRole("cell",{name:"Classification:"}).should("exist"),cy.findAllByRole("cell",{name:"OFFICIAL"}).should("exist");break;case 4:cy.findAllByRole("cell",{name:"Requested at:"}).should("exist"),cy.findAllByRole("cell",{name:/\d{1,2}\/\d{1,2}\/\d{2,4}/}).should("exist");break;case 5:cy.findAllByRole("cell",{name:"Applied Filters:"}).should("exist"),cy.findAllByRole("listitem").each((c,e)=>{switch(e){case 0:cy.wrap(c).contains("Field 1: value1.2");break;case 1:cy.wrap(c).contains("Field 3 start: 01/02/2003");break;case 2:cy.wrap(c).contains("Field 3 end: 04/05/2006");break;case 3:cy.wrap(c).contains("Field 7: 01/02/2005");break;case 4:cy.wrap(c).contains("Field 8: value8.2,value8.3");break;case 5:cy.wrap(c).contains("Sort column: Field 1");break;case 6:cy.wrap(c).contains("Sort direction: Descending");break;default:break}});break;default:break}})})})})}),describe("Actions",()=>{it("should show the actions and go to the filters page when refresh action is clicked",()=>{cy.findByLabelText("Refresh report").should("be.visible"),cy.findByLabelText(/download/).should("be.visible"),cy.findByLabelText(/Copy report link/).should("be.visible"),cy.findByRole("button",{name:/Add bookmark/}).should("be.visible"),cy.findByLabelText("Refresh report").should("be.visible").click(),cy.url().should("match",/.*\/embedded\/platform\/dpr\/request-report\/report\/request-examples\/request-example-success\/filters/i),cy.location().should(o=>{expect(o.search).to.contain("filters.field1=value1.2"),expect(o.search).to.contain("filters.field3.start=2003-02-01"),expect(o.search).to.contain("filters.field3.end=2006-05-04"),expect(o.search).to.contain("filters.field7=2005-02-01"),expect(o.search).to.contain("filters.field8=value8.2&filters.field8=value8.3")})})}),describe("Column interactions",()=>{const o=()=>{cy.findByRole("checkbox",{name:"Field 1"}).should("be.checked"),cy.findByRole("checkbox",{name:"Field 2"}).should("be.checked").should("be.disabled"),cy.findByRole("checkbox",{name:"Field 3"}).should("be.checked"),cy.findByRole("checkbox",{name:"Field 4"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 5"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 6"}).should("be.checked").should("be.disabled"),cy.findByRole("checkbox",{name:"Field 7"}).should("be.checked"),cy.findByRole("checkbox",{name:"Field 8"}).should("not.be.checked"),cy.location().should(e=>{expect(e.search).to.contain("columns=field1"),expect(e.search).to.contain("columns=field2"),expect(e.search).to.contain("columns=field3"),expect(e.search).not.to.contain("columns=field4"),expect(e.search).not.to.contain("columns=field5"),expect(e.search).to.contain("columns=field6"),expect(e.search).to.contain("columns=field7"),expect(e.search).not.to.contain("columns=field8")}),cy.findByLabelText(/Successful Report/).within(()=>{cy.findAllByRole("rowgroup").eq(0).within(()=>{cy.findAllByRole("row").eq(1).within(()=>{cy.findAllByRole("columnheader").should("have.length",5)})})})},i=()=>{cy.findByRole("checkbox",{name:"Field 1"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 2"}).should("be.checked").should("be.disabled"),cy.findByRole("checkbox",{name:"Field 3"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 4"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 5"}).should("be.checked"),cy.findByRole("checkbox",{name:"Field 6"}).should("be.checked").should("be.disabled"),cy.findByRole("checkbox",{name:"Field 7"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 8"}).should("be.checked"),cy.location().should(e=>{expect(e.search).not.to.contain("columns=field1"),expect(e.search).to.contain("columns=field2"),expect(e.search).not.to.contain("columns=field3"),expect(e.search).not.to.contain("columns=field4"),expect(e.search).to.contain("columns=field5"),expect(e.search).to.contain("columns=field6"),expect(e.search).not.to.contain("columns=field7"),expect(e.search).to.contain("columns=field8")}),cy.findByLabelText(/Successful Report/).within(()=>{cy.findAllByRole("rowgroup").eq(0).within(()=>{cy.findAllByRole("row").eq(1).within(()=>{cy.findAllByRole("columnheader").should("have.length",4)})})})},c=()=>{cy.findByRole("checkbox",{name:"Field 1"}).uncheck(),cy.findByRole("checkbox",{name:"Field 3"}).uncheck(),cy.findByRole("checkbox",{name:"Field 5"}).check(),cy.findByRole("checkbox",{name:"Field 7"}).uncheck(),cy.findByRole("checkbox",{name:"Field 8"}).check()};it("should initialise the column content correctly",()=>{cy.findAllByRole("group").contains(/Show columns/).should("be.visible").click(),o(),cy.findAllByRole("group").contains("Show columns (5 of 8 shown)"),cy.findByLabelText(/Successful Report/).within(()=>{cy.findAllByRole("rowgroup").eq(0).within(()=>{cy.findAllByRole("columnheader").each((e,d)=>{switch(d){case 0:cy.wrap(e).contains("Field 1");break;case 1:cy.wrap(e).contains("Field 2");break;case 2:cy.wrap(e).contains("Field 3");break;case 3:cy.wrap(e).contains("Field 6");break;case 4:cy.wrap(e).contains("Field 7");break;default:break}})})})}),it("should apply the columns",()=>{cy.findAllByRole("group").contains(/Show columns/).click(),c(),cy.findByRole("button",{name:"Apply columns"}).click(),i(),cy.findByLabelText(/Successful Report/).within(()=>{cy.findAllByRole("rowgroup").eq(0).within(()=>{cy.findAllByRole("columnheader").each((e,d)=>{switch(d){case 0:cy.wrap(e).contains("Field 2");break;case 1:cy.wrap(e).contains("Field 5");break;case 2:cy.wrap(e).contains("Field 6");break;case 3:cy.wrap(e).contains("Field 8");break;default:break}})})})}),it("should reset the columns to their DPD defaults",()=>{cy.findAllByRole("group").contains(/Show columns/).click(),c(),cy.findByRole("button",{name:"Apply columns"}).click(),i(),cy.findAllByRole("group").contains(/Show columns/).click(),cy.findByRole("link",{name:"Reset columns"}).click(),o()}),it("should apply the columns from the URL",()=>{cy.visit(`/embedded/platform/dpr/view-report/async/report/request-examples/request-example-success/${s}/report?columns=field1&columns=field5&columns=field8`),cy.findByRole("checkbox",{name:"Field 1"}).should("be.checked"),cy.findByRole("checkbox",{name:"Field 2"}).should("be.checked").should("be.disabled"),cy.findByRole("checkbox",{name:"Field 3"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 4"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 5"}).should("be.checked"),cy.findByRole("checkbox",{name:"Field 6"}).should("be.checked").should("be.disabled"),cy.findByRole("checkbox",{name:"Field 7"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 8"}).should("be.checked"),cy.findByLabelText(/Successful Report/).within(()=>{cy.findAllByRole("rowgroup").eq(0).within(()=>{cy.findAllByRole("columnheader").each((e,d)=>{switch(d){case 0:cy.wrap(e).contains("Field 1");break;case 1:cy.wrap(e).contains("Field 2");break;case 2:cy.wrap(e).contains("Field 5");break;case 3:cy.wrap(e).contains("Field 6");break;case 4:cy.wrap(e).contains("Field 8");break;default:break}})})})}),it("should only apply mandatory columms",()=>{cy.findAllByRole("group").contains(/Show columns/).click(),cy.findByRole("checkbox",{name:"Field 1"}).uncheck(),cy.findByRole("checkbox",{name:"Field 3"}).uncheck(),cy.findByRole("checkbox",{name:"Field 7"}).uncheck(),cy.findByRole("button",{name:"Apply columns"}).click(),cy.findByRole("checkbox",{name:"Field 1"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 2"}).should("be.checked").should("be.disabled"),cy.findByRole("checkbox",{name:"Field 3"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 4"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 5"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 6"}).should("be.checked").should("be.disabled"),cy.findByRole("checkbox",{name:"Field 7"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 8"}).should("not.be.checked"),cy.location().should(e=>{expect(e.search).not.to.contain("columns=field1"),expect(e.search).to.contain("columns=field2"),expect(e.search).not.to.contain("columns=field3"),expect(e.search).not.to.contain("columns=field4"),expect(e.search).not.to.contain("columns=field5"),expect(e.search).to.contain("columns=field6"),expect(e.search).not.to.contain("columns=field7"),expect(e.search).not.to.contain("columns=field8")}),cy.findByLabelText(/Successful Report/).within(()=>{cy.findAllByRole("rowgroup").eq(0).within(()=>{cy.findAllByRole("row").eq(1).within(()=>{cy.findAllByRole("columnheader").should("have.length",2)})})})})}),describe("Paging interaction",()=>{it("should show the table totals",()=>{cy.findAllByRole("paragraph").contains(/Showing \d{1,4} to \d{1,4} of \d{1,4} results/).should("exist"),cy.findByLabelText(/Successful Report/).within(()=>{cy.findAllByRole("rowgroup").eq(1).within(()=>{cy.findAllByRole("row").should("have.length",20)})})}),it("should change the page size",()=>{cy.get("#page-size-select").select("10"),cy.findAllByRole("paragraph").contains(/Showing 1 to 10 of 100 results/).should("exist"),cy.findByLabelText(/Successful Report/).within(()=>{cy.findAllByRole("rowgroup").eq(1).within(()=>{cy.findAllByRole("row").should("have.length",10)})})}),it("should change the page size via the URL",()=>{cy.visit(`/embedded/platform/dpr/view-report/async/report/request-examples/request-example-success/${s}/report?pageSize=100`),cy.findAllByRole("paragraph").contains(/100 total results/).should("exist"),cy.findByLabelText(/Successful Report/).within(()=>{cy.findAllByRole("rowgroup").eq(1).within(()=>{cy.findAllByRole("row").should("have.length",100)})})}),it("should change the page",()=>{cy.findByLabelText("Page 5").click(),cy.location().should(o=>{expect(o.search).to.contain("selectedPage=5")})}),it("should change the page via the URL",()=>{cy.visit(`/embedded/platform/dpr/view-report/async/report/request-examples/request-example-success/${s}/report?selectedPage=3`),cy.findByRole("link",{current:"page"}).contains("3")})})}),describe("Interactive report",()=>{const o=()=>{cy.findByRole("button",{name:"Apply filters"}).click()},i=()=>{cy.findAllByRole("group").contains(/Show filters/).click()};before(()=>{(0,l.executeReportStubs)(),cy.task("stubDefinitionFeatureTestingInteractive"),cy.task("stubAsyncRequestSuccessReportTablesCount"),cy.task("stubRequestSuccessResult20"),cy.task("stubRequestSuccessResult100")}),describe("Apply filters",()=>{before(()=>{(0,l.requestReport)({name:"Interactive Report",description:"this is an interactive report",path:n}),cy.url().then(e=>{a=e})}),beforeEach(()=>{cy.visit(a)});const c=()=>{for(let e=0;e<4;e+=1)cy.findByLabelText("Selected filters").within(()=>{cy.findAllByRole("link").first().click()})};describe("Date range",()=>{it("should apply the date range",()=>{cy.findByRole("textbox",{name:"From"}).should("have.value","01/02/2003"),cy.findByRole("textbox",{name:"To"}).should("have.value","04/05/2006"),c(),i(),cy.findByRole("textbox",{name:"From"}).type("02/05/2025"),cy.findByRole("textbox",{name:"To"}).type("05/07/2025").blur(),o(),cy.location().should(e=>{expect(e.search).to.contain("filters.field3.start=2025-05-02"),expect(e.search).to.contain("filters.field3.end=2025-07-05")}),(0,l.checkSelectedFilterValues)({length:2,buttonValues:[{key:"Field 3",value:"02/05/2025 - 05/07/2025"}]})}),it("should apply the relative daterange",()=>{c(),i(),cy.findByRole("tab",{name:"Preset date ranges"}).click(),cy.findByRole("radio",{name:"Tomorrow"}).check(),o();let e,d;cy.findByRole("textbox",{name:"From"}).invoke("val").should("not.be.empty").then(t=>{e=t}),cy.findByRole("textbox",{name:"To"}).invoke("val").should("not.be.empty").then(t=>{d=t});const u=new f.default;cy.location().should(t=>{expect(t.search).to.contain(`filters.field3.start=${u.toDateString(e,"iso")}`),expect(t.search).to.contain(`filters.field3.end=${u.toDateString(d,"iso")}`),expect(t.search).to.contain("filters.field3.relative-duration=tomorrow")}),(0,l.checkSelectedFilterValues)({length:2,buttonValues:[{key:"Field 3",value:"Tomorrow"}]})})}),describe("Multiselect",()=>{it("should apply the multiselect values",()=>{cy.findByRole("checkbox",{name:"Value 8.2"}).should("be.checked"),cy.findByRole("checkbox",{name:"Value 8.3"}).should("be.checked"),c(),cy.findByRole("checkbox",{name:"Value 8.1"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.2"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.3"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.4"}).should("not.be.checked"),i(),cy.findByRole("checkbox",{name:"Value 8.1"}).check(),cy.findByRole("checkbox",{name:"Value 8.3"}).check(),o(),cy.findByRole("checkbox",{name:"Value 8.1"}).should("be.checked"),cy.findByRole("checkbox",{name:"Value 8.2"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.3"}).should("be.checked"),cy.findByRole("checkbox",{name:"Value 8.4"}).should("not.be.checked"),(0,l.checkSelectedFilterValues)({length:2,buttonValues:[{key:"Field 8",value:"Value 8.1, Value 8.3"}]})}),it("should set the selected filter values correctly",()=>{cy.findByRole("checkbox",{name:"Value 8.2"}).should("be.checked"),cy.findByRole("checkbox",{name:"Value 8.3"}).should("be.checked"),c(),cy.findByRole("checkbox",{name:"Value 8.1"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.2"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.3"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.4"}).should("not.be.checked"),i(),cy.findByRole("checkbox",{name:"Value 8.1"}).check(),cy.findByRole("checkbox",{name:"Value 8.2"}).check(),cy.findByRole("checkbox",{name:"Value 8.3"}).check(),cy.findByRole("checkbox",{name:"Value 8.4"}).check(),o(),cy.findByRole("checkbox",{name:"Value 8.1"}).should("be.checked"),cy.findByRole("checkbox",{name:"Value 8.2"}).should("be.checked"),cy.findByRole("checkbox",{name:"Value 8.3"}).should("be.checked"),cy.findByRole("checkbox",{name:"Value 8.4"}).should("be.checked"),(0,l.checkSelectedFilterValues)({length:2,buttonValues:[{key:"Field 8",value:"Value 8.1, Value 8.2, Value 8.3 + 1 more"}]})}),it("should set the values correctly when only one checkbox selected",()=>{c(),cy.findByRole("checkbox",{name:"Value 8.1"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.2"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.3"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.4"}).should("not.be.checked"),i(),cy.findByRole("checkbox",{name:"Value 8.1"}).check(),o(),cy.findByRole("checkbox",{name:"Value 8.1"}).should("be.checked"),cy.findByRole("checkbox",{name:"Value 8.2"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.3"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.4"}).should("not.be.checked"),(0,l.checkSelectedFilterValues)({length:2,buttonValues:[{key:"Field 8",value:"Value 8.1"}]})})}),it("Applying filters should persist current applied columns",()=>{cy.findAllByRole("group").contains(/Show columns/).should("be.visible").click(),cy.findByRole("checkbox",{name:"Field 1"}).uncheck(),cy.findByRole("checkbox",{name:"Field 3"}).uncheck(),cy.findByRole("checkbox",{name:"Field 5"}).check(),cy.findByRole("checkbox",{name:"Field 7"}).uncheck(),cy.findByRole("checkbox",{name:"Field 8"}).check(),cy.findByRole("button",{name:"Apply columns"}).click(),cy.findAllByRole("group").contains("Show columns (4 of 8 shown)"),i(),cy.findByRole("checkbox",{name:"Value 8.1"}).check(),cy.findByRole("checkbox",{name:"Value 8.3"}).check(),o(),cy.findAllByRole("group").contains("Show columns (4 of 8 shown)")})}),describe("User defined interactive defaults",()=>{const c=()=>cy.findByRole("button",{name:"Save current filter values as defaults"}),e=()=>cy.findByRole("button",{name:"Update defaults"}),d=()=>cy.findByRole("button",{name:"Delete defaults"}),u=({name:t,product:h,length:m,selectedFilters:k})=>{cy.findByLabelText(/Viewed \(/).within(()=>{cy.findByRole("row",{name:(r,y)=>!!y.textContent?.includes(t)&&!!y.textContent?.includes(h)}).within(()=>{cy.findAllByRole("listitem").should("have.length",m).each((r,y)=>{if(k[y]){const{key:p,value:R}=k[y];cy.wrap(r).contains(p),cy.wrap(r).contains(R)}})})})};it("should save the interactive filters correctly",()=>{(0,l.requestReport)({name:"Interactive Report",description:"this is an interactive report",path:n}),(0,l.checkSelectedFilterValues)({length:5,buttonValues:[{key:"Field 1",value:"Value 1.2"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.2, Value 8.3"}]}),i(),cy.findByRole("checkbox",{name:"Value 8.1"}).check(),cy.findByRole("checkbox",{name:"Value 8.4"}).check(),cy.findByRole("combobox",{name:"Field 2"}).select("value2.2"),o();const t=[{key:"Field 1",value:"Value 1.2"},{key:"Field 2",value:"Value 2.2"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.1, Value 8.2, Value 8.3 + 1 more"}];(0,l.checkSelectedFilterValues)({length:6,buttonValues:t}),c().click(),e().should("exist"),d().should("exist"),(0,l.checkSelectedFilterValues)({length:6,buttonValues:t})}),it("should init the report with saved interactive defaults",()=>{(0,l.requestReport)({name:"Interactive Report",description:"this is an interactive report",path:n}),cy.url().then(h=>{a=h}),e().should("exist"),d().should("exist");const t=[{key:"Field 1",value:"Value 1.2"},{key:"Field 2",value:"Value 2.2"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.1, Value 8.2, Value 8.3 + 1 more"}];(0,l.checkSelectedFilterValues)({length:6,buttonValues:t}),cy.visit(n),cy.findByRole("tab",{name:/Viewed/}).click(),u({name:"Interactive Report",product:"Interactive Report",length:5,selectedFilters:t})}),it("should reset the filter values to the saved defaults",()=>{cy.visit(a),e().should("exist"),d().should("exist");const t=[{key:"Field 1",value:"Value 1.2"},{key:"Field 2",value:"Value 2.2"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.1, Value 8.2, Value 8.3 + 1 more"}];(0,l.checkSelectedFilterValues)({length:6,buttonValues:t}),i(),cy.findByRole("checkbox",{name:"Value 8.1"}).uncheck(),cy.findByRole("checkbox",{name:"Value 8.3"}).uncheck(),cy.findByRole("combobox",{name:"Field 2"}).select("value2.3"),o(),(0,l.checkSelectedFilterValues)({length:6,buttonValues:[{key:"Field 1",value:"Value 1.2"},{key:"Field 2",value:"Value 2.3"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.4"}]}),cy.visit(n),cy.findByRole("tab",{name:/Viewed/}).click(),u({name:"Interactive Report",product:"Interactive Report",length:5,selectedFilters:[{key:"Field 1",value:"Value 1.2"},{key:"Field 2",value:"Value 2.3"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.4"}]}),cy.visit(a),cy.findByRole("link",{name:"Reset filters"}).click(),(0,l.checkSelectedFilterValues)({length:6,buttonValues:t}),cy.visit(n),cy.findByRole("tab",{name:/Viewed/}).click(),u({name:"Interactive Report",product:"Interactive Report",length:5,selectedFilters:t})}),it("should update the filter values and init the report with the updated interactive defaults",()=>{cy.visit(a),e().should("exist"),d().should("exist"),(0,l.checkSelectedFilterValues)({length:6,buttonValues:[{key:"Field 1",value:"Value 1.2"},{key:"Field 2",value:"Value 2.2"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.1, Value 8.2, Value 8.3 + 1 more"}]}),i(),cy.findByRole("checkbox",{name:"Value 8.1"}).uncheck(),cy.findByRole("checkbox",{name:"Value 8.3"}).uncheck(),cy.findByRole("combobox",{name:"Field 2"}).select("value2.3"),o();const t=[{key:"Field 1",value:"Value 1.2"},{key:"Field 2",value:"Value 2.3"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.2, Value 8.4"}];(0,l.checkSelectedFilterValues)({length:6,buttonValues:t}),e().click(),(0,l.checkSelectedFilterValues)({length:6,buttonValues:t}),(0,l.requestReport)({name:"Interactive Report",description:"this is an interactive report",path:n}),cy.url().then(h=>{a=h}),(0,l.checkSelectedFilterValues)({length:6,buttonValues:t}),e().should("exist"),d().should("exist"),cy.visit(n),cy.findByRole("tab",{name:/Viewed/}).click(),u({name:"Interactive Report",product:"Interactive Report",length:5,selectedFilters:t})}),it("should delete the saved defaults",()=>{cy.visit(a),(0,l.checkSelectedFilterValues)({length:6,buttonValues:[{key:"Field 1",value:"Value 1.2"},{key:"Field 2",value:"Value 2.3"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.2, Value 8.4"}]}),d().click(),(0,l.checkSelectedFilterValues)({length:5,buttonValues:[{key:"Field 1",value:"Value 1.2"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.2, Value 8.3"}]}),cy.visit(n),cy.findByRole("tab",{name:/Viewed/}).click(),u({name:"Interactive Report",product:"Interactive Report",length:4,selectedFilters:[{key:"Field 1",value:"Value 1.2"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.2, Value 8.3"}]})}),describe("Input types",()=>{describe("Relative date range",()=>{it("should save the relative daterange",()=>{(0,l.requestReport)({name:"Interactive Report",description:"this is an interactive report",path:n}),(0,l.checkSelectedFilterValues)({length:5,buttonValues:[{key:"Field 1",value:"Value 1.2"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.2, Value 8.3"}]}),i(),cy.findByRole("tab",{name:"Preset date ranges"}).click(),cy.findByRole("radio",{name:"Tomorrow"}).check(),o();const t=[{key:"Field 1",value:"Value 1.2"},{key:"Field 3",value:"Tomorrow"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.2, Value 8.3"}];(0,l.checkSelectedFilterValues)({length:5,buttonValues:t}),c().click(),e().should("exist"),d().should("exist"),(0,l.checkSelectedFilterValues)({length:5,buttonValues:t}),(0,l.requestReport)({name:"Interactive Report",description:"this is an interactive report",path:n}),(0,l.checkSelectedFilterValues)({length:5,buttonValues:t}),d().click()})}),describe("Multiselect",()=>{it("should save a single multiselect value",()=>{(0,l.requestReport)({name:"Interactive Report",description:"this is an interactive report",path:n}),(0,l.checkSelectedFilterValues)({length:5,buttonValues:[{key:"Field 1",value:"Value 1.2"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.2, Value 8.3"}]}),i(),cy.findByRole("checkbox",{name:"Value 8.3"}).uncheck(),o();const t=[{key:"Field 1",value:"Value 1.2"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.2"}];(0,l.checkSelectedFilterValues)({length:5,buttonValues:t}),c().click(),e().should("exist"),d().should("exist"),(0,l.checkSelectedFilterValues)({length:5,buttonValues:t}),(0,l.requestReport)({name:"Interactive Report",description:"this is an interactive report",path:n}),(0,l.checkSelectedFilterValues)({length:5,buttonValues:t}),d().click()})})})}),describe("Sorting",()=>{before(()=>{(0,l.requestReport)({name:"Interactive Report",description:"this is an interactive report",path:n}),cy.url().then(c=>{a=c})}),beforeEach(()=>{cy.visit(a)}),it("should show the sort direction in the column header and the url",()=>{cy.findByRole("link",{name:"Reset filters"}).click(),cy.findByRole("link",{name:"Field 1"}).should("have.class","data-table-header-button-sort-ascending"),cy.findByRole("link",{name:"Field 2"}).should("have.class","data-table-header-button-sort-none"),cy.findByRole("link",{name:"Field 1"}).click(),cy.findByRole("link",{name:"Field 1"}).should("have.class","data-table-header-button-sort-descending"),cy.findByRole("link",{name:"Field 2"}).should("have.class","data-table-header-button-sort-none"),cy.location().should(c=>{expect(c.search).to.contain("&sortColumn=field1&sortedAsc=false"),expect(c.search).to.contain("filters.field8=value8.2&filters.field8=value8.3")}),cy.findByRole("link",{name:"Field 1"}).click(),cy.findByRole("link",{name:"Field 1"}).should("have.class","data-table-header-button-sort-ascending"),cy.findByRole("link",{name:"Field 2"}).should("have.class","data-table-header-button-sort-none"),cy.location().should(c=>{expect(c.search).to.contain("&sortColumn=field1&sortedAsc=true"),expect(c.search).to.contain("filters.field8=value8.2&filters.field8=value8.3")}),cy.findByRole("link",{name:"Field 2"}).click(),cy.findByRole("link",{name:"Field 2"}).should("have.class","data-table-header-button-sort-ascending"),cy.findByRole("link",{name:"Field 1"}).should("have.class","data-table-header-button-sort-none"),cy.location().should(c=>{expect(c.search).to.contain("&sortColumn=field2&sortedAsc=true"),expect(c.search).to.contain("filters.field8=value8.2&filters.field8=value8.3")}),cy.findByRole("link",{name:"Field 2"}).click(),cy.findByRole("link",{name:"Field 2"}).should("have.class","data-table-header-button-sort-descending"),cy.findByRole("link",{name:"Field 1"}).should("have.class","data-table-header-button-sort-none"),cy.location().should(c=>{expect(c.search).to.contain("&sortColumn=field2&sortedAsc=false"),expect(c.search).to.contain("filters.field8=value8.2&filters.field8=value8.3")})})})})});
2
2
  //# sourceMappingURL=tests.cy.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/dpr/routes/journeys/view-report/async/report/tests.cy.ts"],
4
- "sourcesContent": ["import {\n checkSelectedFilterValues,\n requestReport,\n executeReportStubs,\n} from '../../../../../../../cypress-tests/cypressUtils'\nimport DateMapper from '../../../../../utils/DateMapper/DateMapper'\n\ncontext('Viewing a report', () => {\n const path = '/embedded/platform/'\n let viewReportUrl: string\n let tableId: string\n\n describe('List report page', () => {\n before(() => {\n executeReportStubs()\n cy.task('stubDefinitionRequestExamplesSuccess')\n cy.task('stubRequestSuccessResult10')\n cy.task('stubRequestSuccessResult20')\n cy.task('stubRequestSuccessResult100')\n\n // Request and run a report so we can go back to it for each test\n requestReport({ name: 'Successful Report', description: 'this will succeed', path })\n cy.url().then((url) => {\n viewReportUrl = url\n const urlArr = url.split('/')\n tableId = urlArr[urlArr.length - 2]\n })\n })\n\n beforeEach(() => {\n cy.visit(viewReportUrl)\n })\n\n describe('Report details', () => {\n it('should show the report details', () => {\n cy.findAllByRole('group').contains('Report details').should('be.visible').click()\n\n cy.findAllByRole('group')\n .contains('Report details')\n .parent()\n .parent()\n .within(() => {\n cy.findAllByRole('row').each((row, index) => {\n cy.wrap(row).within(() => {\n switch (index) {\n case 0:\n cy.findAllByRole('cell', { name: 'Name:' }).should('exist')\n cy.findAllByRole('cell', { name: 'Successful Report' }).should('exist')\n break\n case 1:\n cy.findAllByRole('cell', { name: 'Product:' }).should('exist')\n cy.findAllByRole('cell', { name: 'Successful Report' }).should('exist')\n break\n case 2:\n cy.findAllByRole('cell', { name: 'Description:' }).should('exist')\n cy.findAllByRole('cell', { name: 'this will succeed' }).should('exist')\n break\n case 3:\n cy.findAllByRole('cell', { name: 'Classification:' }).should('exist')\n cy.findAllByRole('cell', { name: 'OFFICIAL' }).should('exist')\n break\n case 4:\n cy.findAllByRole('cell', { name: 'Requested at:' }).should('exist')\n cy.findAllByRole('cell', { name: /\\d{1,2}\\/\\d{1,2}\\/\\d{2,4}/ }).should('exist')\n break\n case 5:\n cy.findAllByRole('cell', { name: 'Applied Filters:' }).should('exist')\n cy.findAllByRole('listitem').each((item, i) => {\n switch (i) {\n case 0:\n cy.wrap(item).contains('Field 1: value1.2')\n break\n case 1:\n cy.wrap(item).contains('Field 3 start: 01/02/2003')\n break\n case 2:\n cy.wrap(item).contains('Field 3 end: 04/05/2006')\n break\n case 3:\n cy.wrap(item).contains('Field 7: 01/02/2005')\n break\n case 4:\n cy.wrap(item).contains('Field 8: value8.2,value8.3')\n break\n case 5:\n cy.wrap(item).contains('Sort column: Field 1')\n break\n case 6:\n cy.wrap(item).contains('Sort direction: Descending')\n break\n default:\n break\n }\n })\n break\n default:\n break\n }\n })\n })\n })\n })\n })\n\n describe('Actions', () => {\n it('should show the actions and go to the filters page when refresh action is clicked', () => {\n cy.findByLabelText('Refresh report').should('be.visible')\n cy.findByLabelText(/Print screen/)\n .should('be.visible')\n .should('be.disabled')\n cy.findByLabelText(/download/).should('be.visible')\n cy.findByLabelText(/Copy report link/).should('be.visible')\n cy.findByRole('button', { name: /Add bookmark/ }).should('be.visible')\n\n cy.findByLabelText('Refresh report').should('be.visible').click()\n cy.url().should(\n 'match',\n /.*\\/embedded\\/platform\\/dpr\\/request-report\\/report\\/request-examples\\/request-example-success\\/filters/i,\n )\n\n cy.location().should((location) => {\n expect(location.search).to.contain(`filters.field1=value1.2`)\n expect(location.search).to.contain(`filters.field3.start=2003-02-01`)\n expect(location.search).to.contain(`filters.field3.end=2006-05-04`)\n expect(location.search).to.contain(`filters.field7=2005-02-01`)\n expect(location.search).to.contain(`filters.field8=value8.2&filters.field8=value8.3`)\n })\n })\n })\n\n describe('Column interactions', () => {\n const expectInitialisedColumns = () => {\n cy.findByRole('checkbox', { name: 'Field 1' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Field 2' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 3' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Field 4' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 5' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 6' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 7' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Field 8' }).should('not.be.checked')\n\n cy.location().should((location) => {\n expect(location.search).to.contain(`columns=field1`)\n expect(location.search).to.contain(`columns=field2`)\n expect(location.search).to.contain(`columns=field3`)\n expect(location.search).not.to.contain(`columns=field4`)\n expect(location.search).not.to.contain(`columns=field5`)\n expect(location.search).to.contain(`columns=field6`)\n expect(location.search).to.contain(`columns=field7`)\n expect(location.search).not.to.contain(`columns=field8`)\n })\n\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(0)\n .within(() => {\n cy.findAllByRole('row')\n .eq(1)\n .within(() => {\n cy.findAllByRole('columnheader').should('have.length', 5)\n })\n })\n })\n }\n\n const expectUpdatedColumns = () => {\n cy.findByRole('checkbox', { name: 'Field 1' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 2' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 3' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 4' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 5' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Field 6' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 7' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 8' }).should('be.checked')\n\n cy.location().should((location) => {\n expect(location.search).not.to.contain(`columns=field1`)\n expect(location.search).to.contain(`columns=field2`)\n expect(location.search).not.to.contain(`columns=field3`)\n expect(location.search).not.to.contain(`columns=field4`)\n expect(location.search).to.contain(`columns=field5`)\n expect(location.search).to.contain(`columns=field6`)\n expect(location.search).not.to.contain(`columns=field7`)\n expect(location.search).to.contain(`columns=field8`)\n })\n\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(0)\n .within(() => {\n cy.findAllByRole('row')\n .eq(1)\n .within(() => {\n cy.findAllByRole('columnheader').should('have.length', 4)\n })\n })\n })\n }\n\n const setColumnValues = () => {\n cy.findByRole('checkbox', { name: 'Field 1' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 3' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 5' }).check()\n cy.findByRole('checkbox', { name: 'Field 7' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 8' }).check()\n }\n\n it('should initialise the column content correctly', () => {\n cy.findAllByRole('group')\n .contains(/Show columns/)\n .should('be.visible')\n .click()\n expectInitialisedColumns()\n cy.findAllByRole('group').contains('Show columns (5 of 8 shown)')\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(0)\n .within(() => {\n cy.findAllByRole('columnheader').each((head, index) => {\n switch (index) {\n case 0:\n cy.wrap(head).contains('Field 1')\n break\n case 1:\n cy.wrap(head).contains('Field 2')\n break\n case 2:\n cy.wrap(head).contains('Field 3')\n break\n case 3:\n cy.wrap(head).contains('Field 6')\n break\n case 4:\n cy.wrap(head).contains('Field 7')\n break\n default:\n break\n }\n })\n })\n })\n })\n\n it('should apply the columns', () => {\n cy.findAllByRole('group')\n .contains(/Show columns/)\n .click()\n\n setColumnValues()\n\n cy.findByRole('button', { name: 'Apply columns' }).click()\n\n expectUpdatedColumns()\n\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(0)\n .within(() => {\n cy.findAllByRole('columnheader').each((head, index) => {\n switch (index) {\n case 0:\n cy.wrap(head).contains('Field 2')\n break\n case 1:\n cy.wrap(head).contains('Field 5')\n break\n case 2:\n cy.wrap(head).contains('Field 6')\n break\n case 3:\n cy.wrap(head).contains('Field 8')\n break\n default:\n break\n }\n })\n })\n })\n })\n\n it('should reset the columns to their DPD defaults', () => {\n cy.findAllByRole('group')\n .contains(/Show columns/)\n .click()\n\n setColumnValues()\n cy.findByRole('button', { name: 'Apply columns' }).click()\n expectUpdatedColumns()\n\n cy.findAllByRole('group')\n .contains(/Show columns/)\n .click()\n\n cy.findByRole('link', { name: 'Reset columns' }).click()\n\n expectInitialisedColumns()\n })\n\n it('should apply the columns from the URL', () => {\n cy.visit(\n `/embedded/platform/dpr/view-report/async/report/request-examples/request-example-success/${tableId}/report?columns=field1&columns=field5&columns=field8`,\n )\n\n cy.findByRole('checkbox', { name: 'Field 1' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Field 2' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 3' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 4' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 5' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Field 6' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 7' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 8' }).should('be.checked')\n\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(0)\n .within(() => {\n cy.findAllByRole('columnheader').each((head, index) => {\n switch (index) {\n case 0:\n cy.wrap(head).contains('Field 1')\n break\n case 1:\n cy.wrap(head).contains('Field 2')\n break\n case 2:\n cy.wrap(head).contains('Field 5')\n break\n case 3:\n cy.wrap(head).contains('Field 6')\n break\n case 4:\n cy.wrap(head).contains('Field 8')\n break\n default:\n break\n }\n })\n })\n })\n })\n\n it('should only apply mandatory columms', () => {\n cy.findAllByRole('group')\n .contains(/Show columns/)\n .click()\n\n cy.findByRole('checkbox', { name: 'Field 1' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 3' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 7' }).uncheck()\n\n cy.findByRole('button', { name: 'Apply columns' }).click()\n\n cy.findByRole('checkbox', { name: 'Field 1' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 2' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 3' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 4' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 5' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 6' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 7' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 8' }).should('not.be.checked')\n\n cy.location().should((location) => {\n expect(location.search).not.to.contain(`columns=field1`)\n expect(location.search).to.contain(`columns=field2`)\n expect(location.search).not.to.contain(`columns=field3`)\n expect(location.search).not.to.contain(`columns=field4`)\n expect(location.search).not.to.contain(`columns=field5`)\n expect(location.search).to.contain(`columns=field6`)\n expect(location.search).not.to.contain(`columns=field7`)\n expect(location.search).not.to.contain(`columns=field8`)\n })\n\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(0)\n .within(() => {\n cy.findAllByRole('row')\n .eq(1)\n .within(() => {\n cy.findAllByRole('columnheader').should('have.length', 2)\n })\n })\n })\n })\n })\n\n describe('Paging interaction', () => {\n it('should show the table totals', () => {\n cy.findAllByRole('paragraph')\n .contains(/Showing \\d{1,4} to \\d{1,4} of \\d{1,4} results/)\n .should('exist')\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(1)\n .within(() => {\n cy.findAllByRole('row').should('have.length', 20)\n })\n })\n })\n\n it('should change the page size', () => {\n cy.get('#page-size-select').select('10')\n cy.findAllByRole('paragraph')\n .contains(/Showing 1 to 10 of 100 results/)\n .should('exist')\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(1)\n .within(() => {\n cy.findAllByRole('row').should('have.length', 10)\n })\n })\n })\n\n it('should change the page size via the URL', () => {\n cy.visit(\n `/embedded/platform/dpr/view-report/async/report/request-examples/request-example-success/${tableId}/report?pageSize=100`,\n )\n cy.findAllByRole('paragraph')\n .contains(/100 total results/)\n .should('exist')\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(1)\n .within(() => {\n cy.findAllByRole('row').should('have.length', 100)\n })\n })\n })\n\n it('should change the page', () => {\n cy.findByLabelText('Page 5').click()\n cy.location().should((location) => {\n expect(location.search).to.contain(`selectedPage=5`)\n })\n })\n\n it('should change the page via the URL', () => {\n cy.visit(\n `/embedded/platform/dpr/view-report/async/report/request-examples/request-example-success/${tableId}/report?selectedPage=3`,\n )\n cy.findByRole('link', { current: 'page' }).contains('3')\n })\n })\n })\n\n describe('Interactive report', () => {\n const applyFilters = () => {\n cy.findByRole('button', { name: 'Apply filters' }).click()\n }\n\n const showFilters = () => {\n cy.findAllByRole('group')\n .contains(/Show filters/)\n .click()\n }\n\n before(() => {\n executeReportStubs()\n cy.task('stubDefinitionFeatureTestingInteractive')\n cy.task('stubAsyncRequestSuccessReportTablesCount')\n cy.task('stubRequestSuccessResult20')\n cy.task('stubRequestSuccessResult100')\n })\n\n describe('Apply filters', () => {\n before(() => {\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n cy.url().then((url) => {\n viewReportUrl = url\n })\n })\n\n beforeEach(() => {\n cy.visit(viewReportUrl)\n })\n\n const removeAllFilters = () => {\n for (let index = 0; index < 4; index += 1) {\n cy.findByLabelText('Selected filters').within(() => {\n cy.findAllByRole('link').first().click()\n })\n }\n }\n\n describe('Date range', () => {\n it('should apply the date range', () => {\n cy.findByRole('textbox', { name: 'From' }).should('have.value', '01/02/2003')\n cy.findByRole('textbox', { name: 'To' }).should('have.value', '04/05/2006')\n\n removeAllFilters()\n showFilters()\n\n cy.findByRole('textbox', { name: 'From' }).type('02/05/2025')\n cy.findByRole('textbox', { name: 'To' }).type('05/07/2025').blur()\n\n applyFilters()\n\n cy.location().should((location) => {\n expect(location.search).to.contain(`filters.field3.start=2025-05-02`)\n expect(location.search).to.contain(`filters.field3.end=2025-07-05`)\n })\n\n checkSelectedFilterValues({ length: 2, buttonValues: [{ key: 'Field 3', value: '02/05/2025 - 05/07/2025' }] })\n })\n\n it('should apply the relative daterange', () => {\n removeAllFilters()\n showFilters()\n\n cy.findByRole('tab', { name: 'Preset date ranges' }).click()\n cy.findByRole('radio', { name: 'Tomorrow' }).check()\n\n applyFilters()\n\n let startValue: string | number | string[] | undefined\n let endValue: string | number | string[] | undefined\n cy.findByRole('textbox', { name: 'From' })\n .invoke('val')\n .should('not.be.empty')\n .then((val) => {\n startValue = val\n })\n cy.findByRole('textbox', { name: 'To' })\n .invoke('val')\n .should('not.be.empty')\n .then((val) => {\n endValue = val\n })\n\n const dateMapper = new DateMapper()\n cy.location().should((location) => {\n expect(location.search).to.contain(\n `filters.field3.start=${dateMapper.toDateString(<string>startValue, 'iso')}`,\n )\n expect(location.search).to.contain(`filters.field3.end=${dateMapper.toDateString(<string>endValue, 'iso')}`)\n expect(location.search).to.contain(`filters.field3.relative-duration=tomorrow`)\n })\n\n checkSelectedFilterValues({ length: 2, buttonValues: [{ key: 'Field 3', value: 'Tomorrow' }] })\n })\n })\n\n describe('Multiselect', () => {\n it('should apply the multiselect values', () => {\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('be.checked')\n\n removeAllFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.4' }).should('not.be.checked')\n\n showFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).check()\n cy.findByRole('checkbox', { name: 'Value 8.3' }).check()\n\n applyFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.4' }).should('not.be.checked')\n\n checkSelectedFilterValues({ length: 2, buttonValues: [{ key: 'Field 8', value: 'Value 8.1, Value 8.3' }] })\n })\n\n it('should set the selected filter values correctly', () => {\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('be.checked')\n\n removeAllFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.4' }).should('not.be.checked')\n\n showFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).check()\n cy.findByRole('checkbox', { name: 'Value 8.2' }).check()\n cy.findByRole('checkbox', { name: 'Value 8.3' }).check()\n cy.findByRole('checkbox', { name: 'Value 8.4' }).check()\n\n applyFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.4' }).should('be.checked')\n\n checkSelectedFilterValues({\n length: 2,\n buttonValues: [{ key: 'Field 8', value: 'Value 8.1, Value 8.2, Value 8.3 + 1 more' }],\n })\n })\n\n it('should set the values correctly when only one checkbox selected', () => {\n removeAllFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.4' }).should('not.be.checked')\n\n showFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).check()\n\n applyFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.4' }).should('not.be.checked')\n\n checkSelectedFilterValues({\n length: 2,\n buttonValues: [{ key: 'Field 8', value: 'Value 8.1' }],\n })\n })\n })\n\n it('Applying filters should persist current applied columns', () => {\n cy.findAllByRole('group')\n .contains(/Show columns/)\n .should('be.visible')\n .click()\n\n cy.findByRole('checkbox', { name: 'Field 1' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 3' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 5' }).check()\n cy.findByRole('checkbox', { name: 'Field 7' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 8' }).check()\n\n cy.findByRole('button', { name: 'Apply columns' }).click()\n cy.findAllByRole('group').contains('Show columns (4 of 8 shown)')\n\n showFilters()\n cy.findByRole('checkbox', { name: 'Value 8.1' }).check()\n cy.findByRole('checkbox', { name: 'Value 8.3' }).check()\n applyFilters()\n\n cy.findAllByRole('group').contains('Show columns (4 of 8 shown)')\n })\n })\n\n describe('User defined interactive defaults', () => {\n const saveDefaultsButton = () => {\n return cy.findByRole('button', { name: 'Save current filter values as defaults' })\n }\n const updateDefaultsButton = () => {\n return cy.findByRole('button', { name: 'Update defaults' })\n }\n const deleteDefaultsButton = () => {\n return cy.findByRole('button', { name: 'Delete defaults' })\n }\n\n const checkSelectedFiltersInUserReports = ({\n name,\n product,\n length,\n selectedFilters,\n }: {\n name: string\n product: string\n length: number\n selectedFilters: { key: string; value: string }[]\n }) => {\n cy.findByLabelText(/Viewed \\(/).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return Boolean(element.textContent?.includes(name)) && Boolean(element.textContent?.includes(product))\n },\n }).within(() => {\n cy.findAllByRole('listitem')\n .should('have.length', length)\n .each((li, index) => {\n if (selectedFilters[index]) {\n const { key, value } = selectedFilters[index]\n cy.wrap(li).contains(key)\n cy.wrap(li).contains(value)\n }\n })\n })\n })\n }\n\n it('should save the interactive filters correctly', () => {\n // request the report\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n\n // check the default filters\n checkSelectedFilterValues({\n length: 5,\n buttonValues: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.3' },\n ],\n })\n\n // update the filters\n showFilters()\n cy.findByRole('checkbox', { name: 'Value 8.1' }).check()\n cy.findByRole('checkbox', { name: 'Value 8.4' }).check()\n cy.findByRole('combobox', { name: 'Field 2' }).select('value2.2')\n applyFilters()\n\n const selectedFiltersButtonValues = [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.1, Value 8.2, Value 8.3 + 1 more' },\n ]\n checkSelectedFilterValues({\n length: 6,\n buttonValues: selectedFiltersButtonValues,\n })\n\n // save the filters\n saveDefaultsButton().click()\n\n // check for saved page furniture\n updateDefaultsButton().should('exist')\n deleteDefaultsButton().should('exist')\n\n // check the selected filters\n checkSelectedFilterValues({\n length: 6,\n buttonValues: selectedFiltersButtonValues,\n })\n })\n\n it('should init the report with saved interactive defaults', () => {\n // request the report\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n cy.url().then((url) => {\n viewReportUrl = url\n })\n\n // check saved defaults page furniture\n updateDefaultsButton().should('exist')\n deleteDefaultsButton().should('exist')\n\n const selectedFiltersButtonValues = [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.1, Value 8.2, Value 8.3 + 1 more' },\n ]\n checkSelectedFilterValues({\n length: 6,\n buttonValues: selectedFiltersButtonValues,\n })\n\n cy.visit(path)\n cy.findByRole('tab', { name: /Viewed/ }).click()\n checkSelectedFiltersInUserReports({\n name: 'Interactive Report',\n product: 'Interactive Report',\n length: 5,\n selectedFilters: selectedFiltersButtonValues,\n })\n })\n\n it('should reset the filter values to the saved defaults', () => {\n cy.visit(viewReportUrl)\n\n // check saved defaults page furniture\n updateDefaultsButton().should('exist')\n deleteDefaultsButton().should('exist')\n\n const savedDefaultSelectedFilters = [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.1, Value 8.2, Value 8.3 + 1 more' },\n ]\n checkSelectedFilterValues({\n length: 6,\n buttonValues: savedDefaultSelectedFilters,\n })\n\n // apply some filters\n showFilters()\n cy.findByRole('checkbox', { name: 'Value 8.1' }).uncheck()\n cy.findByRole('checkbox', { name: 'Value 8.3' }).uncheck()\n cy.findByRole('combobox', { name: 'Field 2' }).select('value2.3')\n applyFilters()\n\n checkSelectedFilterValues({\n length: 6,\n buttonValues: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.3' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.4' },\n ],\n })\n\n cy.visit(path)\n cy.findByRole('tab', { name: /Viewed/ }).click()\n checkSelectedFiltersInUserReports({\n name: 'Interactive Report',\n product: 'Interactive Report',\n length: 5,\n selectedFilters: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.3' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.4' },\n ],\n })\n\n cy.visit(viewReportUrl)\n\n cy.findByRole('link', { name: 'Reset filters' }).click()\n\n checkSelectedFilterValues({\n length: 6,\n buttonValues: savedDefaultSelectedFilters,\n })\n\n cy.visit(path)\n cy.findByRole('tab', { name: /Viewed/ }).click()\n checkSelectedFiltersInUserReports({\n name: 'Interactive Report',\n product: 'Interactive Report',\n length: 5,\n selectedFilters: savedDefaultSelectedFilters,\n })\n })\n\n it('should update the filter values and init the report with the updated interactive defaults', () => {\n cy.visit(viewReportUrl)\n\n // check saved defaults page furniture\n updateDefaultsButton().should('exist')\n deleteDefaultsButton().should('exist')\n\n checkSelectedFilterValues({\n length: 6,\n buttonValues: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.1, Value 8.2, Value 8.3 + 1 more' },\n ],\n })\n\n // apply some filters\n showFilters()\n cy.findByRole('checkbox', { name: 'Value 8.1' }).uncheck()\n cy.findByRole('checkbox', { name: 'Value 8.3' }).uncheck()\n cy.findByRole('combobox', { name: 'Field 2' }).select('value2.3')\n applyFilters()\n\n const expectedSelectedValues = [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.3' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.4' },\n ]\n\n checkSelectedFilterValues({\n length: 6,\n buttonValues: expectedSelectedValues,\n })\n\n updateDefaultsButton().click()\n\n checkSelectedFilterValues({\n length: 6,\n buttonValues: expectedSelectedValues,\n })\n\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n cy.url().then((url) => {\n viewReportUrl = url\n })\n\n // check the initial filter values match the default\n checkSelectedFilterValues({\n length: 6,\n buttonValues: expectedSelectedValues,\n })\n\n // check saved defaults page furniture\n updateDefaultsButton().should('exist')\n deleteDefaultsButton().should('exist')\n\n cy.visit(path)\n cy.findByRole('tab', { name: /Viewed/ }).click()\n checkSelectedFiltersInUserReports({\n name: 'Interactive Report',\n product: 'Interactive Report',\n length: 5,\n selectedFilters: expectedSelectedValues,\n })\n })\n\n it('should delete the saved defaults', () => {\n cy.visit(viewReportUrl)\n\n checkSelectedFilterValues({\n length: 6,\n buttonValues: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.3' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.4' },\n ],\n })\n\n deleteDefaultsButton().click()\n\n // Expect DPD defaults to be applied\n checkSelectedFilterValues({\n length: 5,\n buttonValues: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.3' },\n ],\n })\n\n cy.visit(path)\n cy.findByRole('tab', { name: /Viewed/ }).click()\n checkSelectedFiltersInUserReports({\n name: 'Interactive Report',\n product: 'Interactive Report',\n length: 4,\n selectedFilters: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.3' },\n ],\n })\n })\n\n describe('Input types', () => {\n describe('Relative date range', () => {\n it('should save the relative daterange', () => {\n // request the report\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n\n checkSelectedFilterValues({\n length: 5,\n buttonValues: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.3' },\n ],\n })\n\n // update the filters\n showFilters()\n cy.findByRole('tab', { name: 'Preset date ranges' }).click()\n cy.findByRole('radio', { name: 'Tomorrow' }).check()\n applyFilters()\n\n const expectedUpdatedSelected = [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 3', value: 'Tomorrow' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.3' },\n ]\n\n checkSelectedFilterValues({\n length: 5,\n buttonValues: expectedUpdatedSelected,\n })\n\n // save the filters\n saveDefaultsButton().click()\n\n // check for saved page furniture\n updateDefaultsButton().should('exist')\n deleteDefaultsButton().should('exist')\n\n // check the selected filters\n checkSelectedFilterValues({\n length: 5,\n buttonValues: expectedUpdatedSelected,\n })\n\n // request the report to check it defaults to saved\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n\n // check the selected filters\n checkSelectedFilterValues({\n length: 5,\n buttonValues: expectedUpdatedSelected,\n })\n\n deleteDefaultsButton().click()\n })\n })\n\n describe('Multiselect', () => {\n it('should save a single multiselect value', () => {\n // request the report\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n\n checkSelectedFilterValues({\n length: 5,\n buttonValues: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.3' },\n ],\n })\n\n // update the filters\n showFilters()\n cy.findByRole('checkbox', { name: 'Value 8.3' }).uncheck()\n applyFilters()\n\n const expectedUpdatedSelected = [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2' },\n ]\n\n checkSelectedFilterValues({\n length: 5,\n buttonValues: expectedUpdatedSelected,\n })\n\n // save the filters\n saveDefaultsButton().click()\n\n // check for saved page furniture\n updateDefaultsButton().should('exist')\n deleteDefaultsButton().should('exist')\n\n // check the selected filters\n checkSelectedFilterValues({\n length: 5,\n buttonValues: expectedUpdatedSelected,\n })\n\n // request the report to check it defaults to saved\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n\n // check the selected filters\n checkSelectedFilterValues({\n length: 5,\n buttonValues: expectedUpdatedSelected,\n })\n\n deleteDefaultsButton().click()\n })\n })\n })\n })\n\n describe('Sorting', () => {\n before(() => {\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n cy.url().then((url) => {\n viewReportUrl = url\n })\n })\n\n beforeEach(() => {\n cy.visit(viewReportUrl)\n })\n\n it('should show the sort direction in the column header and the url', () => {\n cy.findByRole('link', { name: 'Reset filters' }).click()\n\n // Initial state\n cy.findByRole('link', { name: 'Field 1' }).should('have.class', 'data-table-header-button-sort-ascending')\n cy.findByRole('link', { name: 'Field 2' }).should('have.class', 'data-table-header-button-sort-none')\n\n // Sort desc by field 1\n cy.findByRole('link', { name: 'Field 1' }).click()\n cy.findByRole('link', { name: 'Field 1' }).should('have.class', 'data-table-header-button-sort-descending')\n cy.findByRole('link', { name: 'Field 2' }).should('have.class', 'data-table-header-button-sort-none')\n cy.location().should((location) => {\n expect(location.search).to.contain(`&sortColumn=field1&sortedAsc=false`)\n expect(location.search).to.contain(`filters.field8=value8.2&filters.field8=value8.3`)\n })\n\n // Sort asc by field 1\n cy.findByRole('link', { name: 'Field 1' }).click()\n cy.findByRole('link', { name: 'Field 1' }).should('have.class', 'data-table-header-button-sort-ascending')\n cy.findByRole('link', { name: 'Field 2' }).should('have.class', 'data-table-header-button-sort-none')\n cy.location().should((location) => {\n expect(location.search).to.contain(`&sortColumn=field1&sortedAsc=true`)\n expect(location.search).to.contain(`filters.field8=value8.2&filters.field8=value8.3`)\n })\n\n // Sort asc by field 2\n cy.findByRole('link', { name: 'Field 2' }).click()\n cy.findByRole('link', { name: 'Field 2' }).should('have.class', 'data-table-header-button-sort-ascending')\n cy.findByRole('link', { name: 'Field 1' }).should('have.class', 'data-table-header-button-sort-none')\n cy.location().should((location) => {\n expect(location.search).to.contain(`&sortColumn=field2&sortedAsc=true`)\n expect(location.search).to.contain(`filters.field8=value8.2&filters.field8=value8.3`)\n })\n\n // Sort desc by field 2\n cy.findByRole('link', { name: 'Field 2' }).click()\n cy.findByRole('link', { name: 'Field 2' }).should('have.class', 'data-table-header-button-sort-descending')\n cy.findByRole('link', { name: 'Field 1' }).should('have.class', 'data-table-header-button-sort-none')\n cy.location().should((location) => {\n expect(location.search).to.contain(`&sortColumn=field2&sortedAsc=false`)\n expect(location.search).to.contain(`filters.field8=value8.2&filters.field8=value8.3`)\n })\n })\n })\n })\n})\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {\n checkSelectedFilterValues,\n requestReport,\n executeReportStubs,\n} from '../../../../../../../cypress-tests/cypressUtils'\nimport DateMapper from '../../../../../utils/DateMapper/DateMapper'\n\ncontext('Viewing a report', () => {\n const path = '/embedded/platform/'\n let viewReportUrl: string\n let tableId: string\n\n describe('List report page', () => {\n before(() => {\n executeReportStubs()\n cy.task('stubDefinitionRequestExamplesSuccess')\n cy.task('stubRequestSuccessResult10')\n cy.task('stubRequestSuccessResult20')\n cy.task('stubRequestSuccessResult100')\n\n // Request and run a report so we can go back to it for each test\n requestReport({ name: 'Successful Report', description: 'this will succeed', path })\n cy.url().then((url) => {\n viewReportUrl = url\n const urlArr = url.split('/')\n tableId = urlArr[urlArr.length - 2]\n })\n })\n\n beforeEach(() => {\n cy.visit(viewReportUrl)\n })\n\n describe('Report details', () => {\n it('should show the report details', () => {\n cy.findAllByRole('group').contains('Report details').should('be.visible').click()\n\n cy.findAllByRole('group')\n .contains('Report details')\n .parent()\n .parent()\n .within(() => {\n cy.findAllByRole('row').each((row, index) => {\n cy.wrap(row).within(() => {\n switch (index) {\n case 0:\n cy.findAllByRole('cell', { name: 'Name:' }).should('exist')\n cy.findAllByRole('cell', { name: 'Successful Report' }).should('exist')\n break\n case 1:\n cy.findAllByRole('cell', { name: 'Product:' }).should('exist')\n cy.findAllByRole('cell', { name: 'Successful Report' }).should('exist')\n break\n case 2:\n cy.findAllByRole('cell', { name: 'Description:' }).should('exist')\n cy.findAllByRole('cell', { name: 'this will succeed' }).should('exist')\n break\n case 3:\n cy.findAllByRole('cell', { name: 'Classification:' }).should('exist')\n cy.findAllByRole('cell', { name: 'OFFICIAL' }).should('exist')\n break\n case 4:\n cy.findAllByRole('cell', { name: 'Requested at:' }).should('exist')\n cy.findAllByRole('cell', { name: /\\d{1,2}\\/\\d{1,2}\\/\\d{2,4}/ }).should('exist')\n break\n case 5:\n cy.findAllByRole('cell', { name: 'Applied Filters:' }).should('exist')\n cy.findAllByRole('listitem').each((item, i) => {\n switch (i) {\n case 0:\n cy.wrap(item).contains('Field 1: value1.2')\n break\n case 1:\n cy.wrap(item).contains('Field 3 start: 01/02/2003')\n break\n case 2:\n cy.wrap(item).contains('Field 3 end: 04/05/2006')\n break\n case 3:\n cy.wrap(item).contains('Field 7: 01/02/2005')\n break\n case 4:\n cy.wrap(item).contains('Field 8: value8.2,value8.3')\n break\n case 5:\n cy.wrap(item).contains('Sort column: Field 1')\n break\n case 6:\n cy.wrap(item).contains('Sort direction: Descending')\n break\n default:\n break\n }\n })\n break\n default:\n break\n }\n })\n })\n })\n })\n })\n\n describe('Actions', () => {\n it('should show the actions and go to the filters page when refresh action is clicked', () => {\n cy.findByLabelText('Refresh report').should('be.visible')\n cy.findByLabelText(/download/).should('be.visible')\n cy.findByLabelText(/Copy report link/).should('be.visible')\n cy.findByRole('button', { name: /Add bookmark/ }).should('be.visible')\n\n cy.findByLabelText('Refresh report').should('be.visible').click()\n cy.url().should(\n 'match',\n /.*\\/embedded\\/platform\\/dpr\\/request-report\\/report\\/request-examples\\/request-example-success\\/filters/i,\n )\n\n cy.location().should((location) => {\n expect(location.search).to.contain(`filters.field1=value1.2`)\n expect(location.search).to.contain(`filters.field3.start=2003-02-01`)\n expect(location.search).to.contain(`filters.field3.end=2006-05-04`)\n expect(location.search).to.contain(`filters.field7=2005-02-01`)\n expect(location.search).to.contain(`filters.field8=value8.2&filters.field8=value8.3`)\n })\n })\n })\n\n describe('Column interactions', () => {\n const expectInitialisedColumns = () => {\n cy.findByRole('checkbox', { name: 'Field 1' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Field 2' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 3' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Field 4' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 5' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 6' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 7' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Field 8' }).should('not.be.checked')\n\n cy.location().should((location) => {\n expect(location.search).to.contain(`columns=field1`)\n expect(location.search).to.contain(`columns=field2`)\n expect(location.search).to.contain(`columns=field3`)\n expect(location.search).not.to.contain(`columns=field4`)\n expect(location.search).not.to.contain(`columns=field5`)\n expect(location.search).to.contain(`columns=field6`)\n expect(location.search).to.contain(`columns=field7`)\n expect(location.search).not.to.contain(`columns=field8`)\n })\n\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(0)\n .within(() => {\n cy.findAllByRole('row')\n .eq(1)\n .within(() => {\n cy.findAllByRole('columnheader').should('have.length', 5)\n })\n })\n })\n }\n\n const expectUpdatedColumns = () => {\n cy.findByRole('checkbox', { name: 'Field 1' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 2' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 3' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 4' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 5' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Field 6' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 7' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 8' }).should('be.checked')\n\n cy.location().should((location) => {\n expect(location.search).not.to.contain(`columns=field1`)\n expect(location.search).to.contain(`columns=field2`)\n expect(location.search).not.to.contain(`columns=field3`)\n expect(location.search).not.to.contain(`columns=field4`)\n expect(location.search).to.contain(`columns=field5`)\n expect(location.search).to.contain(`columns=field6`)\n expect(location.search).not.to.contain(`columns=field7`)\n expect(location.search).to.contain(`columns=field8`)\n })\n\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(0)\n .within(() => {\n cy.findAllByRole('row')\n .eq(1)\n .within(() => {\n cy.findAllByRole('columnheader').should('have.length', 4)\n })\n })\n })\n }\n\n const setColumnValues = () => {\n cy.findByRole('checkbox', { name: 'Field 1' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 3' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 5' }).check()\n cy.findByRole('checkbox', { name: 'Field 7' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 8' }).check()\n }\n\n it('should initialise the column content correctly', () => {\n cy.findAllByRole('group')\n .contains(/Show columns/)\n .should('be.visible')\n .click()\n expectInitialisedColumns()\n cy.findAllByRole('group').contains('Show columns (5 of 8 shown)')\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(0)\n .within(() => {\n cy.findAllByRole('columnheader').each((head, index) => {\n switch (index) {\n case 0:\n cy.wrap(head).contains('Field 1')\n break\n case 1:\n cy.wrap(head).contains('Field 2')\n break\n case 2:\n cy.wrap(head).contains('Field 3')\n break\n case 3:\n cy.wrap(head).contains('Field 6')\n break\n case 4:\n cy.wrap(head).contains('Field 7')\n break\n default:\n break\n }\n })\n })\n })\n })\n\n it('should apply the columns', () => {\n cy.findAllByRole('group')\n .contains(/Show columns/)\n .click()\n\n setColumnValues()\n\n cy.findByRole('button', { name: 'Apply columns' }).click()\n\n expectUpdatedColumns()\n\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(0)\n .within(() => {\n cy.findAllByRole('columnheader').each((head, index) => {\n switch (index) {\n case 0:\n cy.wrap(head).contains('Field 2')\n break\n case 1:\n cy.wrap(head).contains('Field 5')\n break\n case 2:\n cy.wrap(head).contains('Field 6')\n break\n case 3:\n cy.wrap(head).contains('Field 8')\n break\n default:\n break\n }\n })\n })\n })\n })\n\n it('should reset the columns to their DPD defaults', () => {\n cy.findAllByRole('group')\n .contains(/Show columns/)\n .click()\n\n setColumnValues()\n cy.findByRole('button', { name: 'Apply columns' }).click()\n expectUpdatedColumns()\n\n cy.findAllByRole('group')\n .contains(/Show columns/)\n .click()\n\n cy.findByRole('link', { name: 'Reset columns' }).click()\n\n expectInitialisedColumns()\n })\n\n it('should apply the columns from the URL', () => {\n cy.visit(\n `/embedded/platform/dpr/view-report/async/report/request-examples/request-example-success/${tableId}/report?columns=field1&columns=field5&columns=field8`,\n )\n\n cy.findByRole('checkbox', { name: 'Field 1' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Field 2' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 3' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 4' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 5' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Field 6' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 7' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 8' }).should('be.checked')\n\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(0)\n .within(() => {\n cy.findAllByRole('columnheader').each((head, index) => {\n switch (index) {\n case 0:\n cy.wrap(head).contains('Field 1')\n break\n case 1:\n cy.wrap(head).contains('Field 2')\n break\n case 2:\n cy.wrap(head).contains('Field 5')\n break\n case 3:\n cy.wrap(head).contains('Field 6')\n break\n case 4:\n cy.wrap(head).contains('Field 8')\n break\n default:\n break\n }\n })\n })\n })\n })\n\n it('should only apply mandatory columms', () => {\n cy.findAllByRole('group')\n .contains(/Show columns/)\n .click()\n\n cy.findByRole('checkbox', { name: 'Field 1' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 3' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 7' }).uncheck()\n\n cy.findByRole('button', { name: 'Apply columns' }).click()\n\n cy.findByRole('checkbox', { name: 'Field 1' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 2' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 3' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 4' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 5' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 6' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 7' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 8' }).should('not.be.checked')\n\n cy.location().should((location) => {\n expect(location.search).not.to.contain(`columns=field1`)\n expect(location.search).to.contain(`columns=field2`)\n expect(location.search).not.to.contain(`columns=field3`)\n expect(location.search).not.to.contain(`columns=field4`)\n expect(location.search).not.to.contain(`columns=field5`)\n expect(location.search).to.contain(`columns=field6`)\n expect(location.search).not.to.contain(`columns=field7`)\n expect(location.search).not.to.contain(`columns=field8`)\n })\n\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(0)\n .within(() => {\n cy.findAllByRole('row')\n .eq(1)\n .within(() => {\n cy.findAllByRole('columnheader').should('have.length', 2)\n })\n })\n })\n })\n })\n\n describe('Paging interaction', () => {\n it('should show the table totals', () => {\n cy.findAllByRole('paragraph')\n .contains(/Showing \\d{1,4} to \\d{1,4} of \\d{1,4} results/)\n .should('exist')\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(1)\n .within(() => {\n cy.findAllByRole('row').should('have.length', 20)\n })\n })\n })\n\n it('should change the page size', () => {\n cy.get('#page-size-select').select('10')\n cy.findAllByRole('paragraph')\n .contains(/Showing 1 to 10 of 100 results/)\n .should('exist')\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(1)\n .within(() => {\n cy.findAllByRole('row').should('have.length', 10)\n })\n })\n })\n\n it('should change the page size via the URL', () => {\n cy.visit(\n `/embedded/platform/dpr/view-report/async/report/request-examples/request-example-success/${tableId}/report?pageSize=100`,\n )\n cy.findAllByRole('paragraph')\n .contains(/100 total results/)\n .should('exist')\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(1)\n .within(() => {\n cy.findAllByRole('row').should('have.length', 100)\n })\n })\n })\n\n it('should change the page', () => {\n cy.findByLabelText('Page 5').click()\n cy.location().should((location) => {\n expect(location.search).to.contain(`selectedPage=5`)\n })\n })\n\n it('should change the page via the URL', () => {\n cy.visit(\n `/embedded/platform/dpr/view-report/async/report/request-examples/request-example-success/${tableId}/report?selectedPage=3`,\n )\n cy.findByRole('link', { current: 'page' }).contains('3')\n })\n })\n })\n\n describe('Interactive report', () => {\n const applyFilters = () => {\n cy.findByRole('button', { name: 'Apply filters' }).click()\n }\n\n const showFilters = () => {\n cy.findAllByRole('group')\n .contains(/Show filters/)\n .click()\n }\n\n before(() => {\n executeReportStubs()\n cy.task('stubDefinitionFeatureTestingInteractive')\n cy.task('stubAsyncRequestSuccessReportTablesCount')\n cy.task('stubRequestSuccessResult20')\n cy.task('stubRequestSuccessResult100')\n })\n\n describe('Apply filters', () => {\n before(() => {\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n cy.url().then((url) => {\n viewReportUrl = url\n })\n })\n\n beforeEach(() => {\n cy.visit(viewReportUrl)\n })\n\n const removeAllFilters = () => {\n for (let index = 0; index < 4; index += 1) {\n cy.findByLabelText('Selected filters').within(() => {\n cy.findAllByRole('link').first().click()\n })\n }\n }\n\n describe('Date range', () => {\n it('should apply the date range', () => {\n cy.findByRole('textbox', { name: 'From' }).should('have.value', '01/02/2003')\n cy.findByRole('textbox', { name: 'To' }).should('have.value', '04/05/2006')\n\n removeAllFilters()\n showFilters()\n\n cy.findByRole('textbox', { name: 'From' }).type('02/05/2025')\n cy.findByRole('textbox', { name: 'To' }).type('05/07/2025').blur()\n\n applyFilters()\n\n cy.location().should((location) => {\n expect(location.search).to.contain(`filters.field3.start=2025-05-02`)\n expect(location.search).to.contain(`filters.field3.end=2025-07-05`)\n })\n\n checkSelectedFilterValues({ length: 2, buttonValues: [{ key: 'Field 3', value: '02/05/2025 - 05/07/2025' }] })\n })\n\n it('should apply the relative daterange', () => {\n removeAllFilters()\n showFilters()\n\n cy.findByRole('tab', { name: 'Preset date ranges' }).click()\n cy.findByRole('radio', { name: 'Tomorrow' }).check()\n\n applyFilters()\n\n let startValue: string | number | string[] | undefined\n let endValue: string | number | string[] | undefined\n cy.findByRole('textbox', { name: 'From' })\n .invoke('val')\n .should('not.be.empty')\n .then((val) => {\n startValue = val\n })\n cy.findByRole('textbox', { name: 'To' })\n .invoke('val')\n .should('not.be.empty')\n .then((val) => {\n endValue = val\n })\n\n const dateMapper = new DateMapper()\n cy.location().should((location) => {\n expect(location.search).to.contain(\n `filters.field3.start=${dateMapper.toDateString(<string>startValue, 'iso')}`,\n )\n expect(location.search).to.contain(`filters.field3.end=${dateMapper.toDateString(<string>endValue, 'iso')}`)\n expect(location.search).to.contain(`filters.field3.relative-duration=tomorrow`)\n })\n\n checkSelectedFilterValues({ length: 2, buttonValues: [{ key: 'Field 3', value: 'Tomorrow' }] })\n })\n })\n\n describe('Multiselect', () => {\n it('should apply the multiselect values', () => {\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('be.checked')\n\n removeAllFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.4' }).should('not.be.checked')\n\n showFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).check()\n cy.findByRole('checkbox', { name: 'Value 8.3' }).check()\n\n applyFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.4' }).should('not.be.checked')\n\n checkSelectedFilterValues({ length: 2, buttonValues: [{ key: 'Field 8', value: 'Value 8.1, Value 8.3' }] })\n })\n\n it('should set the selected filter values correctly', () => {\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('be.checked')\n\n removeAllFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.4' }).should('not.be.checked')\n\n showFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).check()\n cy.findByRole('checkbox', { name: 'Value 8.2' }).check()\n cy.findByRole('checkbox', { name: 'Value 8.3' }).check()\n cy.findByRole('checkbox', { name: 'Value 8.4' }).check()\n\n applyFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.4' }).should('be.checked')\n\n checkSelectedFilterValues({\n length: 2,\n buttonValues: [{ key: 'Field 8', value: 'Value 8.1, Value 8.2, Value 8.3 + 1 more' }],\n })\n })\n\n it('should set the values correctly when only one checkbox selected', () => {\n removeAllFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.4' }).should('not.be.checked')\n\n showFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).check()\n\n applyFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.4' }).should('not.be.checked')\n\n checkSelectedFilterValues({\n length: 2,\n buttonValues: [{ key: 'Field 8', value: 'Value 8.1' }],\n })\n })\n })\n\n it('Applying filters should persist current applied columns', () => {\n cy.findAllByRole('group')\n .contains(/Show columns/)\n .should('be.visible')\n .click()\n\n cy.findByRole('checkbox', { name: 'Field 1' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 3' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 5' }).check()\n cy.findByRole('checkbox', { name: 'Field 7' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 8' }).check()\n\n cy.findByRole('button', { name: 'Apply columns' }).click()\n cy.findAllByRole('group').contains('Show columns (4 of 8 shown)')\n\n showFilters()\n cy.findByRole('checkbox', { name: 'Value 8.1' }).check()\n cy.findByRole('checkbox', { name: 'Value 8.3' }).check()\n applyFilters()\n\n cy.findAllByRole('group').contains('Show columns (4 of 8 shown)')\n })\n })\n\n describe('User defined interactive defaults', () => {\n const saveDefaultsButton = () => {\n return cy.findByRole('button', { name: 'Save current filter values as defaults' })\n }\n const updateDefaultsButton = () => {\n return cy.findByRole('button', { name: 'Update defaults' })\n }\n const deleteDefaultsButton = () => {\n return cy.findByRole('button', { name: 'Delete defaults' })\n }\n\n const checkSelectedFiltersInUserReports = ({\n name,\n product,\n length,\n selectedFilters,\n }: {\n name: string\n product: string\n length: number\n selectedFilters: { key: string; value: string }[]\n }) => {\n cy.findByLabelText(/Viewed \\(/).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return Boolean(element.textContent?.includes(name)) && Boolean(element.textContent?.includes(product))\n },\n }).within(() => {\n cy.findAllByRole('listitem')\n .should('have.length', length)\n .each((li, index) => {\n if (selectedFilters[index]) {\n const { key, value } = selectedFilters[index]\n cy.wrap(li).contains(key)\n cy.wrap(li).contains(value)\n }\n })\n })\n })\n }\n\n it('should save the interactive filters correctly', () => {\n // request the report\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n\n // check the default filters\n checkSelectedFilterValues({\n length: 5,\n buttonValues: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.3' },\n ],\n })\n\n // update the filters\n showFilters()\n cy.findByRole('checkbox', { name: 'Value 8.1' }).check()\n cy.findByRole('checkbox', { name: 'Value 8.4' }).check()\n cy.findByRole('combobox', { name: 'Field 2' }).select('value2.2')\n applyFilters()\n\n const selectedFiltersButtonValues = [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.1, Value 8.2, Value 8.3 + 1 more' },\n ]\n checkSelectedFilterValues({\n length: 6,\n buttonValues: selectedFiltersButtonValues,\n })\n\n // save the filters\n saveDefaultsButton().click()\n\n // check for saved page furniture\n updateDefaultsButton().should('exist')\n deleteDefaultsButton().should('exist')\n\n // check the selected filters\n checkSelectedFilterValues({\n length: 6,\n buttonValues: selectedFiltersButtonValues,\n })\n })\n\n it('should init the report with saved interactive defaults', () => {\n // request the report\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n cy.url().then((url) => {\n viewReportUrl = url\n })\n\n // check saved defaults page furniture\n updateDefaultsButton().should('exist')\n deleteDefaultsButton().should('exist')\n\n const selectedFiltersButtonValues = [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.1, Value 8.2, Value 8.3 + 1 more' },\n ]\n checkSelectedFilterValues({\n length: 6,\n buttonValues: selectedFiltersButtonValues,\n })\n\n cy.visit(path)\n cy.findByRole('tab', { name: /Viewed/ }).click()\n checkSelectedFiltersInUserReports({\n name: 'Interactive Report',\n product: 'Interactive Report',\n length: 5,\n selectedFilters: selectedFiltersButtonValues,\n })\n })\n\n it('should reset the filter values to the saved defaults', () => {\n cy.visit(viewReportUrl)\n\n // check saved defaults page furniture\n updateDefaultsButton().should('exist')\n deleteDefaultsButton().should('exist')\n\n const savedDefaultSelectedFilters = [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.1, Value 8.2, Value 8.3 + 1 more' },\n ]\n checkSelectedFilterValues({\n length: 6,\n buttonValues: savedDefaultSelectedFilters,\n })\n\n // apply some filters\n showFilters()\n cy.findByRole('checkbox', { name: 'Value 8.1' }).uncheck()\n cy.findByRole('checkbox', { name: 'Value 8.3' }).uncheck()\n cy.findByRole('combobox', { name: 'Field 2' }).select('value2.3')\n applyFilters()\n\n checkSelectedFilterValues({\n length: 6,\n buttonValues: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.3' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.4' },\n ],\n })\n\n cy.visit(path)\n cy.findByRole('tab', { name: /Viewed/ }).click()\n checkSelectedFiltersInUserReports({\n name: 'Interactive Report',\n product: 'Interactive Report',\n length: 5,\n selectedFilters: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.3' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.4' },\n ],\n })\n\n cy.visit(viewReportUrl)\n\n cy.findByRole('link', { name: 'Reset filters' }).click()\n\n checkSelectedFilterValues({\n length: 6,\n buttonValues: savedDefaultSelectedFilters,\n })\n\n cy.visit(path)\n cy.findByRole('tab', { name: /Viewed/ }).click()\n checkSelectedFiltersInUserReports({\n name: 'Interactive Report',\n product: 'Interactive Report',\n length: 5,\n selectedFilters: savedDefaultSelectedFilters,\n })\n })\n\n it('should update the filter values and init the report with the updated interactive defaults', () => {\n cy.visit(viewReportUrl)\n\n // check saved defaults page furniture\n updateDefaultsButton().should('exist')\n deleteDefaultsButton().should('exist')\n\n checkSelectedFilterValues({\n length: 6,\n buttonValues: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.1, Value 8.2, Value 8.3 + 1 more' },\n ],\n })\n\n // apply some filters\n showFilters()\n cy.findByRole('checkbox', { name: 'Value 8.1' }).uncheck()\n cy.findByRole('checkbox', { name: 'Value 8.3' }).uncheck()\n cy.findByRole('combobox', { name: 'Field 2' }).select('value2.3')\n applyFilters()\n\n const expectedSelectedValues = [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.3' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.4' },\n ]\n\n checkSelectedFilterValues({\n length: 6,\n buttonValues: expectedSelectedValues,\n })\n\n updateDefaultsButton().click()\n\n checkSelectedFilterValues({\n length: 6,\n buttonValues: expectedSelectedValues,\n })\n\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n cy.url().then((url) => {\n viewReportUrl = url\n })\n\n // check the initial filter values match the default\n checkSelectedFilterValues({\n length: 6,\n buttonValues: expectedSelectedValues,\n })\n\n // check saved defaults page furniture\n updateDefaultsButton().should('exist')\n deleteDefaultsButton().should('exist')\n\n cy.visit(path)\n cy.findByRole('tab', { name: /Viewed/ }).click()\n checkSelectedFiltersInUserReports({\n name: 'Interactive Report',\n product: 'Interactive Report',\n length: 5,\n selectedFilters: expectedSelectedValues,\n })\n })\n\n it('should delete the saved defaults', () => {\n cy.visit(viewReportUrl)\n\n checkSelectedFilterValues({\n length: 6,\n buttonValues: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.3' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.4' },\n ],\n })\n\n deleteDefaultsButton().click()\n\n // Expect DPD defaults to be applied\n checkSelectedFilterValues({\n length: 5,\n buttonValues: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.3' },\n ],\n })\n\n cy.visit(path)\n cy.findByRole('tab', { name: /Viewed/ }).click()\n checkSelectedFiltersInUserReports({\n name: 'Interactive Report',\n product: 'Interactive Report',\n length: 4,\n selectedFilters: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.3' },\n ],\n })\n })\n\n describe('Input types', () => {\n describe('Relative date range', () => {\n it('should save the relative daterange', () => {\n // request the report\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n\n checkSelectedFilterValues({\n length: 5,\n buttonValues: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.3' },\n ],\n })\n\n // update the filters\n showFilters()\n cy.findByRole('tab', { name: 'Preset date ranges' }).click()\n cy.findByRole('radio', { name: 'Tomorrow' }).check()\n applyFilters()\n\n const expectedUpdatedSelected = [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 3', value: 'Tomorrow' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.3' },\n ]\n\n checkSelectedFilterValues({\n length: 5,\n buttonValues: expectedUpdatedSelected,\n })\n\n // save the filters\n saveDefaultsButton().click()\n\n // check for saved page furniture\n updateDefaultsButton().should('exist')\n deleteDefaultsButton().should('exist')\n\n // check the selected filters\n checkSelectedFilterValues({\n length: 5,\n buttonValues: expectedUpdatedSelected,\n })\n\n // request the report to check it defaults to saved\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n\n // check the selected filters\n checkSelectedFilterValues({\n length: 5,\n buttonValues: expectedUpdatedSelected,\n })\n\n deleteDefaultsButton().click()\n })\n })\n\n describe('Multiselect', () => {\n it('should save a single multiselect value', () => {\n // request the report\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n\n checkSelectedFilterValues({\n length: 5,\n buttonValues: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.3' },\n ],\n })\n\n // update the filters\n showFilters()\n cy.findByRole('checkbox', { name: 'Value 8.3' }).uncheck()\n applyFilters()\n\n const expectedUpdatedSelected = [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2' },\n ]\n\n checkSelectedFilterValues({\n length: 5,\n buttonValues: expectedUpdatedSelected,\n })\n\n // save the filters\n saveDefaultsButton().click()\n\n // check for saved page furniture\n updateDefaultsButton().should('exist')\n deleteDefaultsButton().should('exist')\n\n // check the selected filters\n checkSelectedFilterValues({\n length: 5,\n buttonValues: expectedUpdatedSelected,\n })\n\n // request the report to check it defaults to saved\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n\n // check the selected filters\n checkSelectedFilterValues({\n length: 5,\n buttonValues: expectedUpdatedSelected,\n })\n\n deleteDefaultsButton().click()\n })\n })\n })\n })\n\n describe('Sorting', () => {\n before(() => {\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n cy.url().then((url) => {\n viewReportUrl = url\n })\n })\n\n beforeEach(() => {\n cy.visit(viewReportUrl)\n })\n\n it('should show the sort direction in the column header and the url', () => {\n cy.findByRole('link', { name: 'Reset filters' }).click()\n\n // Initial state\n cy.findByRole('link', { name: 'Field 1' }).should('have.class', 'data-table-header-button-sort-ascending')\n cy.findByRole('link', { name: 'Field 2' }).should('have.class', 'data-table-header-button-sort-none')\n\n // Sort desc by field 1\n cy.findByRole('link', { name: 'Field 1' }).click()\n cy.findByRole('link', { name: 'Field 1' }).should('have.class', 'data-table-header-button-sort-descending')\n cy.findByRole('link', { name: 'Field 2' }).should('have.class', 'data-table-header-button-sort-none')\n cy.location().should((location) => {\n expect(location.search).to.contain(`&sortColumn=field1&sortedAsc=false`)\n expect(location.search).to.contain(`filters.field8=value8.2&filters.field8=value8.3`)\n })\n\n // Sort asc by field 1\n cy.findByRole('link', { name: 'Field 1' }).click()\n cy.findByRole('link', { name: 'Field 1' }).should('have.class', 'data-table-header-button-sort-ascending')\n cy.findByRole('link', { name: 'Field 2' }).should('have.class', 'data-table-header-button-sort-none')\n cy.location().should((location) => {\n expect(location.search).to.contain(`&sortColumn=field1&sortedAsc=true`)\n expect(location.search).to.contain(`filters.field8=value8.2&filters.field8=value8.3`)\n })\n\n // Sort asc by field 2\n cy.findByRole('link', { name: 'Field 2' }).click()\n cy.findByRole('link', { name: 'Field 2' }).should('have.class', 'data-table-header-button-sort-ascending')\n cy.findByRole('link', { name: 'Field 1' }).should('have.class', 'data-table-header-button-sort-none')\n cy.location().should((location) => {\n expect(location.search).to.contain(`&sortColumn=field2&sortedAsc=true`)\n expect(location.search).to.contain(`filters.field8=value8.2&filters.field8=value8.3`)\n })\n\n // Sort desc by field 2\n cy.findByRole('link', { name: 'Field 2' }).click()\n cy.findByRole('link', { name: 'Field 2' }).should('have.class', 'data-table-header-button-sort-descending')\n cy.findByRole('link', { name: 'Field 1' }).should('have.class', 'data-table-header-button-sort-none')\n cy.location().should((location) => {\n expect(location.search).to.contain(`&sortColumn=field2&sortedAsc=false`)\n expect(location.search).to.contain(`filters.field8=value8.2&filters.field8=value8.3`)\n })\n })\n })\n })\n})\n"],
5
+ "mappings": "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",
6
6
  "names": ["import_cypressUtils", "import_DateMapper", "path", "viewReportUrl", "tableId", "url", "urlArr", "row", "index", "item", "i", "location", "expectInitialisedColumns", "expectUpdatedColumns", "setColumnValues", "head", "applyFilters", "showFilters", "removeAllFilters", "startValue", "endValue", "val", "dateMapper", "DateMapper", "saveDefaultsButton", "updateDefaultsButton", "deleteDefaultsButton", "checkSelectedFiltersInUserReports", "name", "product", "length", "selectedFilters", "_", "element", "li", "key", "value", "selectedFiltersButtonValues", "savedDefaultSelectedFilters", "expectedSelectedValues", "expectedUpdatedSelected"]
7
7
  }
@@ -105,9 +105,6 @@ context('Viewing a report', () => {
105
105
  describe('Actions', () => {
106
106
  it('should show the actions and go to the filters page when refresh action is clicked', () => {
107
107
  cy.findByLabelText('Refresh report').should('be.visible')
108
- cy.findByLabelText(/Print screen/)
109
- .should('be.visible')
110
- .should('be.disabled')
111
108
  cy.findByLabelText(/download/).should('be.visible')
112
109
  cy.findByLabelText(/Copy report link/).should('be.visible')
113
110
  cy.findByRole('button', { name: /Add bookmark/ }).should('be.visible')