import { describe, expect, it } from 'vitest' import { readFileSync } from 'node:fs' import { resolve } from 'node:path' const source = readFileSync(resolve(process.cwd(), 'src/modules/trucking/pages/TruckAppointmentCreateView.vue'), 'utf8') describe('TruckAppointmentCreateView booking-bound creation contract', () => { it('starts with required booking and container choices empty until the user selects them', () => { expect(source).toContain('customerId: null, carrierId: null') expect(source).toContain('oceanBookingId: null, containerBookingId: null, loadingPlanId: null') expect(source).toContain('plannedLoadingAt: null') expect(source).toContain('createTruckAppointment({ ...form })') }) it('keeps the form visible and exposes the real backend error details', () => { expect(source).toContain("getApiErrorDetails(err, '创建失败,请稍后重试')") expect(source).toContain('') expect(source).toContain(' { expect(source).toContain('