Files
admin-web/src/modules/overseas-master-data/routes.test.ts
T

32 lines
1.8 KiB
TypeScript
Raw Normal View History

2026-08-19 16:45:51 +08:00
import { describe, expect, it } from 'vitest'
import { readFileSync } from 'node:fs'
import { resolve } from 'node:path'
import { overseasMasterDataPermissions } from './permissions'
import { overseasMasterDataRoutes } from './routes'
describe('overseas master data routes', () => {
it('uses the frozen stable paths and list permissions', () => {
expect(overseasMasterDataRoutes.map((route) => [route.path, route.meta?.permission])).toEqual([
['overseas-master-data/trips', overseasMasterDataPermissions.tripList],
['overseas-master-data/trips/:tripNo', overseasMasterDataPermissions.tripList],
['overseas-master-data/drivers', overseasMasterDataPermissions.driverList],
['overseas-master-data/drivers/:driverId', overseasMasterDataPermissions.driverList],
2026-08-19 16:45:51 +08:00
['overseas-master-data/quotes', overseasMasterDataPermissions.quoteList],
['overseas-master-data/exchange-rates', overseasMasterDataPermissions.exchangeRateList],
['overseas-master-data/vehicles', overseasMasterDataPermissions.vehicleList],
['overseas-master-data/vehicles/:vehicleId', overseasMasterDataPermissions.vehicleList],
])
})
it('keeps vehicle detail as a route page and does not add a duplicate partner warehouse route', () => {
expect(overseasMasterDataRoutes.at(-1)?.meta?.showPageHeading).toBe(false)
expect(overseasMasterDataRoutes.some((route) => route.path.includes('partner-warehouse'))).toBe(false)
})
2026-08-20 09:10:36 +08:00
it('activates the confirmed partner type in the existing warehouse domain without a duplicate route', () => {
2026-08-19 16:45:51 +08:00
const apiSource = readFileSync(resolve(process.cwd(), 'src/modules/warehouses/api/platformWarehouses.ts'), 'utf8')
2026-08-20 09:10:36 +08:00
expect(apiSource).toContain("'OVERSEAS_PARTNER'")
expect(overseasMasterDataRoutes.some((route) => route.path.includes('partner-warehouse'))).toBe(false)
2026-08-19 16:45:51 +08:00
})
})