46 lines
2.1 KiB
TypeScript
46 lines
2.1 KiB
TypeScript
import { readFileSync } from 'node:fs'
|
|
import { resolve } from 'node:path'
|
|
import { describe, expect, it } from 'vitest'
|
|
|
|
const source = readFileSync(resolve(process.cwd(), 'src/modules/port-schedules/components/CarrierScheduleQueryPanel.vue'), 'utf8')
|
|
|
|
describe('CarrierScheduleQueryPanel', () => {
|
|
it('uses the existing relation filters and never creates or executes polling tasks', () => {
|
|
expect(source).toContain('listCarrierScheduleQueries({ page: 1, size: 200')
|
|
expect(source).toContain('oceanBookingId: props.oceanBookingId')
|
|
expect(source).toContain('containerBookingId: props.containerBookingId')
|
|
expect(source).not.toContain('createCarrierSchedule')
|
|
expect(source).not.toContain('attemptCarrierSchedule')
|
|
})
|
|
|
|
it('shows source, observation/update times, history, failures and expiry truthfully', () => {
|
|
expect(source).toContain('最新来源')
|
|
expect(source).toContain('访问方式')
|
|
expect(source).toContain('观测时间')
|
|
expect(source).toContain('来源更新时间')
|
|
expect(source).toContain('标准节点历史')
|
|
expect(source).toContain('节点位置')
|
|
expect(source).toContain('节点实际/预计时间')
|
|
expect(source).toContain('变更历史')
|
|
expect(source).toContain('query.lastErrorMessage')
|
|
expect(source).toContain('query.lastErrorCode')
|
|
expect(source).toContain("return '结果已过期'")
|
|
})
|
|
|
|
it('keeps query-history and linked-schedule partial failures independently visible', () => {
|
|
expect(source).toContain('queryDetailError')
|
|
expect(source).toContain('scheduleError')
|
|
expect(source).toContain('标准节点与变更历史暂不可用')
|
|
expect(source).toContain('关联船期结果暂不可用')
|
|
})
|
|
|
|
it('shows canonical arrival, pickup-ready and stopped states without exposing scheduler actions', () => {
|
|
expect(source).toContain("PICKUP_READY: '可提柜'")
|
|
expect(source).toContain("ARRIVED: '已到目的港'")
|
|
expect(source).toContain("return '已停止'")
|
|
expect(source).toContain('任务仅在确认国内出仓后自动建立')
|
|
expect(source).not.toContain('/scheduler')
|
|
expect(source).not.toContain('/attempts')
|
|
})
|
|
})
|