From dcfcf0010c6c82519a53e906488f4d4b26a6c002 Mon Sep 17 00:00:00 2001 From: Marko Haarni Date: Thu, 12 Oct 2023 13:15:58 +0300 Subject: [PATCH] HAI-1879 Show separate bus and tram indexes (#384) Instead of just one joukkoliikenneindeksi show separate indexes for bus and tram. --- cypress/integration/E2E.spec.ts | 3 ++- cypress/utils/indexValidator.ts | 11 ++++---- .../accessRights/AccessRightsView.test.tsx | 2 +- .../hanke/hankeIndexes/HankeIndexes.test.tsx | 14 ++++++---- .../hanke/hankeIndexes/HankeIndexes.tsx | 27 +++++++++++++------ src/domain/hanke/hankeView/HankeView.test.tsx | 3 ++- src/domain/mocks/data/hankkeet-data.ts | 6 +++-- src/domain/mocks/hankeIndexData.ts | 3 ++- src/domain/types/hanke.ts | 3 ++- src/locales/en.json | 1 - src/locales/fi.json | 3 ++- src/locales/sv.json | 1 - 12 files changed, 49 insertions(+), 28 deletions(-) diff --git a/cypress/integration/E2E.spec.ts b/cypress/integration/E2E.spec.ts index 64af0f89c..c2912a243 100644 --- a/cypress/integration/E2E.spec.ts +++ b/cypress/integration/E2E.spec.ts @@ -87,7 +87,8 @@ const hankeMockIndex: Partial = { tyyppi: HANKE_INDEX_TYPE.PERUSINDEKSI, }, pyorailyIndeksi: 3, - joukkoliikenneIndeksi: 4, + raitiovaunuIndeksi: 4, + linjaautoIndeksi: 3, perusIndeksi: 4.8, }; diff --git a/cypress/utils/indexValidator.ts b/cypress/utils/indexValidator.ts index efa756462..949b404d6 100644 --- a/cypress/utils/indexValidator.ts +++ b/cypress/utils/indexValidator.ts @@ -5,17 +5,18 @@ export const validateIndexes = (hankeIndexData: Partial) => { if (hankeIndexData.liikennehaittaIndeksi && hankeIndexData.liikennehaittaIndeksi.indeksi) { cy.get('[data-testid=test-liikennehaittaIndeksi]').should('not.be.empty'); cy.get('[data-testid=test-liikennehaittaIndeksi]').contains( - hankeIndexData.liikennehaittaIndeksi.indeksi + hankeIndexData.liikennehaittaIndeksi.indeksi, ); } if (hankeIndexData.pyorailyIndeksi) { cy.get('[data-testid=test-pyorailyIndeksi]').should('not.be.empty'); cy.get('[data-testid=test-pyorailyIndeksi]').contains(hankeIndexData.pyorailyIndeksi); } - if (hankeIndexData.joukkoliikenneIndeksi) { - cy.get('[data-testid=test-joukkoliikenneIndeksi]').contains( - hankeIndexData.joukkoliikenneIndeksi - ); + if (hankeIndexData.raitiovaunuIndeksi) { + cy.get('[data-testid=test-raitiovaunuIndeksi]').contains(hankeIndexData.raitiovaunuIndeksi); + } + if (hankeIndexData.linjaautoIndeksi) { + cy.get('[data-testid=test-linjaautoIndeksi]').contains(hankeIndexData.linjaautoIndeksi); } if (hankeIndexData.perusIndeksi) { cy.get('[data-testid=test-ruuhkautumisIndeksi]').contains(hankeIndexData.perusIndeksi); diff --git a/src/domain/hanke/accessRights/AccessRightsView.test.tsx b/src/domain/hanke/accessRights/AccessRightsView.test.tsx index 800a5d879..392c85653 100644 --- a/src/domain/hanke/accessRights/AccessRightsView.test.tsx +++ b/src/domain/hanke/accessRights/AccessRightsView.test.tsx @@ -8,7 +8,7 @@ import usersData from '../../mocks/data/users-data.json'; import { SignedInUser } from '../hankeUsers/hankeUser'; import * as hankeUsersApi from '../../hanke/hankeUsers/hankeUsersApi'; -jest.setTimeout(40000); +jest.setTimeout(50000); afterEach(cleanup); diff --git a/src/domain/hanke/hankeIndexes/HankeIndexes.test.tsx b/src/domain/hanke/hankeIndexes/HankeIndexes.test.tsx index 14d8834a9..8426cdd16 100644 --- a/src/domain/hanke/hankeIndexes/HankeIndexes.test.tsx +++ b/src/domain/hanke/hankeIndexes/HankeIndexes.test.tsx @@ -14,17 +14,21 @@ describe('HankeSidebar', () => { expect(findByText('Pyöräilyn pääreitti')).toBeTruthy(); expect(getByTestId('test-pyorailyIndeksi')).toHaveTextContent('3'); expect(getByTestId('test-pyorailyIndeksi-content')).toHaveTextContent( - 'Kiertoreittitarve: todennäköinen' + 'Kiertoreittitarve: todennäköinen', ); expect(findByText('Merkittävät joukkoliikennereitit')).toBeTruthy(); - expect(getByTestId('test-joukkoliikenneIndeksi')).toHaveTextContent('1'); - expect(getByTestId('test-joukkoliikenneIndeksi-content')).toHaveTextContent( - 'Kiertoreittitarve: ei tarvetta' + expect(getByTestId('test-raitiovaunuIndeksi')).toHaveTextContent('1'); + expect(getByTestId('test-raitiovaunuIndeksi-content')).toHaveTextContent( + 'Kiertoreittitarve: ei tarvetta', + ); + expect(getByTestId('test-linjaautoIndeksi')).toHaveTextContent('2'); + expect(getByTestId('test-linjaautoIndeksi-content')).toHaveTextContent( + 'Kiertoreittitarve: ei tarvetta', ); expect(findByText('Ruuhkautuminen')).toBeTruthy(); expect(getByTestId('test-ruuhkautumisIndeksi')).toHaveTextContent('4'); expect(getByTestId('test-ruuhkautumisIndeksi-content')).toHaveTextContent( - 'Kiertoreittitarve: merkittävä' + 'Kiertoreittitarve: merkittävä', ); }); }); diff --git a/src/domain/hanke/hankeIndexes/HankeIndexes.tsx b/src/domain/hanke/hankeIndexes/HankeIndexes.tsx index b86fce829..8d9dde12b 100644 --- a/src/domain/hanke/hankeIndexes/HankeIndexes.tsx +++ b/src/domain/hanke/hankeIndexes/HankeIndexes.tsx @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-unused-vars */ import React from 'react'; import { useTranslation } from 'react-i18next'; import { LoadingSpinner, Tooltip } from 'hds-react'; @@ -95,7 +94,8 @@ const HankeIndexes: React.FC> = ({ const hankeIndexTitle = indexTitle || t('hankeIndexes:haittaindeksit'); const liikennehaittaIndeksi = hankeIndexData?.liikennehaittaIndeksi.indeksi; const pyorailyIndeksi = hankeIndexData?.pyorailyIndeksi; - const joukkoliikenneIndeksi = hankeIndexData?.joukkoliikenneIndeksi; + const raitiovaunuIndeksi = hankeIndexData?.raitiovaunuIndeksi; + const linjaautoIndeksi = hankeIndexData?.linjaautoIndeksi; const perusIndeksi = hankeIndexData?.perusIndeksi; return ( @@ -123,7 +123,7 @@ const HankeIndexes: React.FC> = ({ > = ({ /> + + @@ -145,7 +156,7 @@ const HankeIndexes: React.FC> = ({ { expect(screen.getAllByText('2.1.2023–24.2.2023').length).toBe(2); expect(screen.getByTestId('test-liikennehaittaIndeksi')).toHaveTextContent('3'); expect(screen.getByTestId('test-pyorailyIndeksi')).toHaveTextContent('3.5'); - expect(screen.getByTestId('test-joukkoliikenneIndeksi')).toHaveTextContent('2'); + expect(screen.getByTestId('test-raitiovaunuIndeksi')).toHaveTextContent('2'); + expect(screen.getByTestId('test-linjaautoIndeksi')).toHaveTextContent('1'); expect(screen.getByTestId('test-ruuhkautumisIndeksi')).toHaveTextContent('1.5'); expect(screen.queryByText('11974 m²')).toBeInTheDocument(); expect(screen.queryByText('Meluhaitta: Satunnainen haitta')).toBeInTheDocument(); diff --git a/src/domain/mocks/data/hankkeet-data.ts b/src/domain/mocks/data/hankkeet-data.ts index b3f5738a9..75c3e64fd 100644 --- a/src/domain/mocks/data/hankkeet-data.ts +++ b/src/domain/mocks/data/hankkeet-data.ts @@ -54,7 +54,8 @@ const hankkeet: HankeDataDraft[] = [ tila: 'VOIMASSA', perusIndeksi: 3.5, pyorailyIndeksi: 3, - joukkoliikenneIndeksi: 4, + linjaautoIndeksi: 4, + raitiovaunuIndeksi: 2, liikennehaittaIndeksi: { indeksi: 4, // eslint-disable-next-line @typescript-eslint/no-explicit-any @@ -274,7 +275,8 @@ const hankkeet: HankeDataDraft[] = [ tila: 'VOIMASSA', perusIndeksi: 1.5, pyorailyIndeksi: 3.5, - joukkoliikenneIndeksi: 2, + linjaautoIndeksi: 1, + raitiovaunuIndeksi: 2, liikennehaittaIndeksi: { indeksi: 3, // eslint-disable-next-line @typescript-eslint/no-explicit-any diff --git a/src/domain/mocks/hankeIndexData.ts b/src/domain/mocks/hankeIndexData.ts index b5911bdb2..e2294e369 100644 --- a/src/domain/mocks/hankeIndexData.ts +++ b/src/domain/mocks/hankeIndexData.ts @@ -10,7 +10,8 @@ const hankeIndexData: HankeIndexData = { }, perusIndeksi: 4, pyorailyIndeksi: 3, - joukkoliikenneIndeksi: 1, + linjaautoIndeksi: 2, + raitiovaunuIndeksi: 1, tila: HANKE_INDEX_STATE.VOIMASSA, }; diff --git a/src/domain/types/hanke.ts b/src/domain/types/hanke.ts index 6d0a4873c..25c5070e2 100644 --- a/src/domain/types/hanke.ts +++ b/src/domain/types/hanke.ts @@ -220,7 +220,8 @@ export interface HankeIndexData { liikennehaittaIndeksi: LiikenneHaittaIndeksi; perusIndeksi: number; pyorailyIndeksi: number; - joukkoliikenneIndeksi: number; + linjaautoIndeksi: number; + raitiovaunuIndeksi: number; tila: HANKE_INDEX_STATE_KEY; } diff --git a/src/locales/en.json b/src/locales/en.json index b0fae3726..670e28003 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -648,7 +648,6 @@ "liikennehaittaindeksi": "Traffic nuisance index", "ruuhkautuminen": "Congestion", "pyorailynPaareitti": "Main cycling route", - "merkittavatJoukkoliikennereitit": "Major public transport routes", "kiertoreittitarve": "Detour need", "KIERTOREITTITARPEET": { "TODENNAKOINEN": "likely", diff --git a/src/locales/fi.json b/src/locales/fi.json index 702d6ce2d..5f08a94a9 100644 --- a/src/locales/fi.json +++ b/src/locales/fi.json @@ -664,7 +664,8 @@ "liikennehaittaindeksi": "Liikennehaittaindeksi", "ruuhkautuminen": "Ruuhkautuminen", "pyorailynPaareitti": "Pyöräilyn pääreitti", - "merkittavatJoukkoliikennereitit": "Merkittävät joukkoliikennereitit", + "joukkoliikenneRaitiovaunu": "Joukkoliikenteen merkittävyys: Raitioliikenne", + "joukkoliikenneLinjaauto": "Joukkoliikenteen merkittävyys: Linja-autojen paikallisliikenne", "kiertoreittitarve": "Kiertoreittitarve", "KIERTOREITTITARPEET": { "TODENNAKOINEN": "todennäköinen", diff --git a/src/locales/sv.json b/src/locales/sv.json index a51ac743e..1531a1f3c 100644 --- a/src/locales/sv.json +++ b/src/locales/sv.json @@ -648,7 +648,6 @@ "liikennehaittaindeksi": "Trafikolägenhetsindex", "ruuhkautuminen": "Köbildning", "pyorailynPaareitti": "Huvudled för cykeltrafik", - "merkittavatJoukkoliikennereitit": "Viktiga leder för kollektivtrafik", "kiertoreittitarve": "Behov av omväg", "KIERTOREITTITARPEET": { "TODENNAKOINEN": "sannolik",