diff --git a/frontend/cypress/e2e/side_window/reporting_list/table.spec.ts b/frontend/cypress/e2e/side_window/reporting_list/table.spec.ts new file mode 100644 index 0000000000..b36e954918 --- /dev/null +++ b/frontend/cypress/e2e/side_window/reporting_list/table.spec.ts @@ -0,0 +1,41 @@ +import { openSideWindowReportingList } from './utils' +import { SeaFrontGroup } from '../../../../src/domain/entities/seaFront/constants' + +context('Side Window > Reporting List > Table', () => { + beforeEach(() => { + openSideWindowReportingList() + + cy.getDataCy(`side-window-sub-menu-${SeaFrontGroup.NAMO}`).click() + }) + + it('Should sort reportings by title', () => { + // TODO Make a cypress helper to handle semantically-correct tables (via both `` and roles). + const getTitleColumnHeader = () => cy.get('[role="columnheader"]').contains('Titre') + + getTitleColumnHeader().click() + + getTitleColumnHeader().parent().find('svg').should('be.visible') + cy.get('[role="table"] [role="rowgroup"]:last-child() [role="row"]').first().contains('3 milles - Chaluts') + + getTitleColumnHeader().click() + + getTitleColumnHeader().parent().find('svg').should('be.visible') + cy.get('[role="table"] [role="rowgroup"]:last-child() [role="row"]') + .first() + .contains('Suspicion de chalutage dans les 3 milles') + }) + + it('Should sort reportings by NATINF', () => { + const getNatinfColumnHeader = () => cy.get('[role="columnheader"]').contains('NATINF') + + getNatinfColumnHeader().click() + + getNatinfColumnHeader().parent().find('svg').should('be.visible') + cy.get('[role="table"] [role="rowgroup"]:last-child() [role="row"]').first().contains('7059') + + getNatinfColumnHeader().click() + + getNatinfColumnHeader().parent().find('svg').should('be.visible') + cy.get('[role="table"] [role="rowgroup"]:last-child() [role="row"]').first().contains('27689') + }) +}) diff --git a/frontend/cypress/e2e/side_window/reporting_list/utils.ts b/frontend/cypress/e2e/side_window/reporting_list/utils.ts new file mode 100644 index 0000000000..e7617e661c --- /dev/null +++ b/frontend/cypress/e2e/side_window/reporting_list/utils.ts @@ -0,0 +1,12 @@ +export const openSideWindowReportingList = () => { + cy.visit('/side_window') + + cy.wait(500) + + if (document.querySelector('[data-cy="first-loader"]')) { + cy.getDataCy('first-loader').should('not.be.visible') + } + cy.getDataCy('side-window-reporting-tab').click() + + cy.wait(500) +} diff --git a/frontend/src/features/SideWindow/AlertListAndReportingList/ReportingList/constants.ts b/frontend/src/features/SideWindow/AlertListAndReportingList/ReportingList/constants.ts index 9eb9d3ed76..c437e3f5b4 100644 --- a/frontend/src/features/SideWindow/AlertListAndReportingList/ReportingList/constants.ts +++ b/frontend/src/features/SideWindow/AlertListAndReportingList/ReportingList/constants.ts @@ -14,14 +14,14 @@ export const REPORTING_LIST_TABLE_OPTIONS: TableOptions - + toggleTableCheckForId(reporting.id)} /> - - + + {timeago.format(reporting.validationDate || reporting.creationDate, 'fr')} - - + + {getReportingOrigin(reporting)} - - + + {getReportingTitle(reporting)} - - - {reporting.value.natinfCode} - - + + {reporting.value.natinfCode} + {reporting.vesselName} - - {reporting.value.dml} - + + {reporting.value.dml} + {reporting.underCharter && Navire sous charte} - + - + - - + + edit(editingIsDisabled, reporting)} title="Editer le signalement" /> - + ) @@ -251,6 +243,10 @@ MMSI: ${reporting.mmsi || ''}` ) } +const Cell = styled(FlexboxGrid.Item).attrs(() => ({ + role: 'row' +}))`` + const UnderCharter = styled.div` background: ${p => p.theme.color.mediumSeaGreen} 0% 0% no-repeat padding-box; padding: 2px 8px; diff --git a/frontend/src/features/SideWindow/AlertListAndReportingList/index.tsx b/frontend/src/features/SideWindow/AlertListAndReportingList/index.tsx index 219c459e5e..74115d36d7 100644 --- a/frontend/src/features/SideWindow/AlertListAndReportingList/index.tsx +++ b/frontend/src/features/SideWindow/AlertListAndReportingList/index.tsx @@ -99,6 +99,7 @@ const Wrapper = styled.div` overflow: auto; ` +// TODO This should be a `` or a `