mirror of
https://github.com/HSLdevcom/digitransit-ui
synced 2025-07-06 01:00:37 +02:00
138 lines
3.6 KiB
JavaScript
138 lines
3.6 KiB
JavaScript
import React from 'react';
|
|
import TripRouteStop from '../../../app/component/routepage/TripRouteStop';
|
|
import { Component as TripStopListContainer } from '../../../app/component/routepage/TripStopListContainer';
|
|
import { shallowWithIntl } from '../helpers/mock-intl-enzyme';
|
|
|
|
describe('<TripStopListContainer />', () => {
|
|
it('should properly mark passed stops when vehicle information is missing', () => {
|
|
const serviceDay = 1551650400;
|
|
const props = {
|
|
currentTime: serviceDay + 2000,
|
|
locationState: {},
|
|
relay: {
|
|
forceFetch: () => {},
|
|
},
|
|
trip: {
|
|
gtfsId: 'feed:1',
|
|
pattern: {
|
|
code: 'foobar-1-1',
|
|
directionId: 1,
|
|
},
|
|
route: {
|
|
gtfsId: 'foobar-1',
|
|
mode: 'BUS',
|
|
},
|
|
stoptimesForDate: [
|
|
{
|
|
pattern: {},
|
|
realtimeDeparture: 1000,
|
|
serviceDay,
|
|
stop: {
|
|
gtfsId: 'stop-1',
|
|
},
|
|
},
|
|
{
|
|
pattern: {},
|
|
realtimeDeparture: 3000,
|
|
serviceDay,
|
|
stop: {
|
|
gtfsId: 'stop-2',
|
|
},
|
|
},
|
|
],
|
|
},
|
|
vehicles: {},
|
|
tripStart: '',
|
|
breakpoint: 'large',
|
|
};
|
|
const wrapper = shallowWithIntl(<TripStopListContainer {...props} />, {
|
|
context: {
|
|
config: { CONFIG: 'default' },
|
|
},
|
|
});
|
|
expect(wrapper.find(TripRouteStop)).to.have.lengthOf(2);
|
|
expect(wrapper.find(TripRouteStop).at(0).prop('stopPassed')).to.equal(true);
|
|
expect(wrapper.find(TripRouteStop).at(1).prop('stopPassed')).to.equal(
|
|
false,
|
|
);
|
|
});
|
|
|
|
it('should find the selected vehicle', () => {
|
|
const props = {
|
|
currentTime: 1554882006,
|
|
locationState: {},
|
|
relay: {
|
|
forceFetch: () => {},
|
|
},
|
|
trip: {
|
|
gtfsId: 'HSL:1',
|
|
pattern: {
|
|
code: 'HSL:6172:0:01',
|
|
directionId: 0,
|
|
},
|
|
route: {
|
|
mode: 'BUS',
|
|
gtfsId: 'HSL:6172',
|
|
color: null,
|
|
},
|
|
stoptimesForDate: [
|
|
{
|
|
stop: {
|
|
gtfsId: 'HSL:2314219',
|
|
name: 'Matinkylä (M)',
|
|
desc: 'Matinkylän term.',
|
|
code: 'E3155',
|
|
lat: 60.160171,
|
|
lon: 24.738517,
|
|
alerts: [],
|
|
},
|
|
realtimeDeparture: 36300,
|
|
realtime: true,
|
|
scheduledDeparture: 36300,
|
|
serviceDay: 1554843600,
|
|
realtimeState: 'UPDATED',
|
|
},
|
|
],
|
|
},
|
|
tripStart: '1005',
|
|
vehicles: {
|
|
HSL_00225: {
|
|
id: 'HSL_00225',
|
|
route: 'HSL:6172',
|
|
direction: 1,
|
|
tripStartTime: '1016',
|
|
operatingDay: '2019-04-10',
|
|
mode: 'bus',
|
|
next_stop: '6040278',
|
|
timestamp: 1554881821,
|
|
lat: 60.1305,
|
|
long: 24.42246,
|
|
heading: 89,
|
|
},
|
|
HSL_00875: {
|
|
id: 'HSL_00875',
|
|
route: 'HSL:6172',
|
|
direction: 0,
|
|
tripStartTime: '1005',
|
|
operatingDay: '2019-04-10',
|
|
mode: 'bus',
|
|
next_stop: '6040231',
|
|
timestamp: 1554881822,
|
|
lat: 60.12307,
|
|
long: 24.41071,
|
|
heading: 140,
|
|
},
|
|
},
|
|
color: '',
|
|
breakpoint: 'large',
|
|
};
|
|
const wrapper = shallowWithIntl(<TripStopListContainer {...props} />, {
|
|
context: {
|
|
config: { CONFIG: 'default' },
|
|
},
|
|
});
|
|
expect(wrapper.find(TripRouteStop).prop('selectedVehicle').id).to.equal(
|
|
'HSL_00875',
|
|
);
|
|
});
|
|
});
|