Skip to content

Commit

Permalink
Merge branch 'dev' into hide-nearbys-outside-stop-viewer
Browse files Browse the repository at this point in the history
  • Loading branch information
binh-dam-ibigroup authored Sep 19, 2023
2 parents d3c91ab + 68f9b31 commit 58b5fa3
Show file tree
Hide file tree
Showing 7 changed files with 1,983 additions and 86 deletions.
32 changes: 22 additions & 10 deletions .github/workflows/percy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ on:
jobs:
run-pixel-tests:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
with:
Expand All @@ -25,31 +24,44 @@ jobs:
- name: Download OTP2 config file
run: curl $PERCY_OTP2_CONFIG_URL --output /tmp/otp2config.yml
env:
PERCY_OTP2_CONFIG_URL: ${{ secrets.PERCY_MOCKOTP2_CONFIG_URL_METRO_MODE_SELECTOR }}
PERCY_OTP2_CONFIG_URL: ${{ secrets.PERCY_MOCK_OTP2_GEOCODER_CONFIG }}
- name: Build OTP-RR
# Artifacts are shared between desktop and mobile tests (but not call-taker).
run: yarn build
env:
YAML_CONFIG: /tmp/otp2config.yml
JS_CONFIG: ./percy/har-mock-config.js
- name: Take Percy Snapshots (Desktop)
- name: Take Percy Snapshots (Desktop + Mobile)
run: npx percy exec -- npx jest percy/percy.test.js --force-exit
env:
PERCY_TOKEN: ${{ secrets.PERCY_TOKEN_OTP2 }}
OTP_RR_UI_MODE: desktop
- name: Take Percy Snapshots (Mobile)
run: npx percy exec -- npx jest percy/percy.test.js --force-exit
OTP_RR_UI_MODE: normal
run-pixel-tests-calltaker:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
# This allows us to work with the repository during the lint step
fetch-depth: 2
- name: Use Node.js 16.x
uses: actions/setup-node@v1
with:
node-version: 16.x
- name: Install npm packages using cache
uses: bahmutov/npm-install@v1
- name: Download OTP2 config file
run: curl $PERCY_OTP2_CONFIG_URL --output /tmp/otp2config.yml
env:
PERCY_TOKEN: ${{ secrets.PERCY_TOKEN_OTP2 }}
OTP_RR_UI_MODE: mobile
# Calltaker has a separate config file, so another build should be produced.
PERCY_OTP2_CONFIG_URL: ${{ secrets.PERCY_MOCK_OTP2_GEOCODER_CONFIG }}
- name: Build OTP-RR Calltaker
# Calltaker has a separate config file, so another build should be produced.
run: yarn build
env:
YAML_CONFIG: /tmp/otp2config.yml
JS_CONFIG: ./percy/har-mock-config-call-taker.js
- name: Take Percy Snapshots (Calltaker)
run: npx percy exec -- npx jest percy/percy.test.js --force-exit
env:
PERCY_TOKEN: ${{ secrets.PERCY_TOKEN_OTP2 }}
# Calltaker has a separate key because the calltaker-specific snapshots are different.
PERCY_TOKEN: ${{ secrets.PERCY_TOKEN_CALL_TAKER_OTP2 }}
OTP_RR_UI_MODE: calltaker
8 changes: 4 additions & 4 deletions lib/components/narrative/default/default-itinerary.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ import {
getAccessibilityScoreForItinerary,
itineraryHasAccessibilityScores
} from '../../../util/accessibility-routing'
import { getFare, getTotalFare } from '../../../util/state'
import { getFirstLegStartTime } from '../../../util/itinerary'
import { getTotalFare } from '../../../util/state'
import { Icon, StyledIconWrapperTextAlign } from '../../util/styledIcon'
import { localizeGradationMap } from '../utils'
import FieldTripGroupSize from '../../admin/field-trip-itinerary-group-size'
Expand Down Expand Up @@ -121,7 +121,7 @@ const ITINERARY_ATTRIBUTES = [
id: 'cost',
order: 2,
render: (itinerary, options, defaultFareType) => {
const fare = getTotalFare(itinerary, options.configCosts, defaultFareType)
const fare = getFare(itinerary, defaultFareType)
const currency = getItineraryCost(
itinerary.legs,
defaultFareType.mediumId,
Expand All @@ -142,11 +142,11 @@ const ITINERARY_ATTRIBUTES = [
return (
<FormattedNumber
// Currency from itinerary fare or from config.
currency={currency.code}
currency={fare.fareCurrency}
currencyDisplay="narrowSymbol"
// eslint-disable-next-line react/style-prop-object
style="currency"
value={fare}
value={fare.transitFare + fare.maxTNCFare}
/>
)
}
Expand Down
6 changes: 4 additions & 2 deletions lib/util/state.js
Original file line number Diff line number Diff line change
Expand Up @@ -99,8 +99,10 @@ export function getTotalFare(
let drivingCost = 0
let hasBikeshare = false
let transitFareNotProvided = false
let rideHailTrip = false
itinerary.legs.forEach((leg) => {
if (leg.mode === 'CAR') {
rideHailTrip = rideHailTrip || leg?.rideHailingEstimate
if (leg.mode === 'CAR' && !rideHailTrip) {
// Convert meters to miles and multiple by cost per mile.
drivingCost += leg.distance * 0.000621371 * costs.drivingCentsPerMile
}
Expand All @@ -121,7 +123,7 @@ export function getTotalFare(
if (transitFareNotProvided) return null
const bikeshareCost = hasBikeshare ? costs.bikeshareTripCostCents : 0
// If some leg uses driving, add parking cost to the total.
if (drivingCost > 0) drivingCost += costs.carParkingCostCents
if (drivingCost > 0 && !rideHailTrip) drivingCost += costs.carParkingCostCents
return bikeshareCost + drivingCost + transitFare + maxTNCFare * 100
}

Expand Down
Loading

0 comments on commit 58b5fa3

Please sign in to comment.