Skip to content

Commit 68d1e2a

Browse files
committed
front: use Duration in TrainScheduleWithDetails.duration
This is more strongly typed. Signed-off-by: Simon Ser <contact@emersion.fr>
1 parent d1d32ae commit 68d1e2a

File tree

4 files changed

+6
-6
lines changed

4 files changed

+6
-6
lines changed

front/src/applications/operationalStudies/helpers/formatTrainScheduleSummaries.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ const formatTrainScheduleSummaries = (
4949
? {
5050
isValid: true,
5151
arrivalTime: new Date(startTime.getTime() + trainSummary.time),
52-
duration: trainSummary.time,
52+
duration: new Duration(trainSummary.time),
5353
pathLength: formatKmValue(trainSummary.length, 'millimeters', 1),
5454
mechanicalEnergyConsumed: jouleToKwh(trainSummary.energy_consumption, true),
5555
pathItemTimes: {
@@ -61,7 +61,7 @@ const formatTrainScheduleSummaries = (
6161
: {
6262
isValid: false,
6363
arrivalTime: null,
64-
duration: 0,
64+
duration: null,
6565
pathLength: '',
6666
mechanicalEnergyConsumed: 0,
6767
invalidReason:

front/src/modules/trainschedule/components/Timetable/TimetableTrainCard.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ const TimetableTrainCard = ({
269269
</div>
270270
<div className="duration-time">
271271
<span data-testid="train-duration">
272-
{dayjs.duration(train.duration).format('HH[h]mm')}
272+
{dayjs.duration(train.duration?.ms ?? 0).format('HH[h]mm')}
273273
</span>
274274
</div>
275275
</div>

front/src/modules/trainschedule/components/Timetable/types.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import type {
66
TrainScheduleResult,
77
} from 'common/api/osrdEditoastApi';
88
import type { TrainId } from 'reducers/osrdconf/types';
9+
import type { Duration } from 'utils/duration';
910

1011
export type ValidityFilter = 'both' | 'valid' | 'invalid';
1112

@@ -21,8 +22,7 @@ export type TrainScheduleWithDetails = Omit<
2122
trainName: string;
2223
startTime: Date;
2324
arrivalTime: Date | null;
24-
/** in ms */
25-
duration: number;
25+
duration: Duration | null;
2626
stopsCount: number;
2727
pathLength: string;
2828
rollingStock?: LightRollingStockWithLiveries;

front/src/reducers/osrdconf/operationalStudiesConf/__tests__/operationalStudiesConfReducer.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ describe('simulationConfReducer', () => {
4545
margins: { boundaries: ['id2'], values: ['10%', '0%'] },
4646
startTime: new Date('2021-01-01T00:00:00Z'),
4747
arrivalTime: null,
48-
duration: 1000,
48+
duration: new Duration(1000),
4949
stopsCount: 2,
5050
pathLength: '100',
5151
mechanicalEnergyConsumed: 100,

0 commit comments

Comments
 (0)