import { describe, expect, it } from 'vitest' import { readFileSync } from 'node:fs' import { resolve } from 'node:path' const source = readFileSync(resolve(process.cwd(), 'src/modules/container-loading/pages/ContainerDetailView.vue'), 'utf8') describe('ContainerDetailView', () => { it('keeps identity, status and key facts in a compact overview', () => { expect(source).toContain('class="container-overview surface-panel"') expect(source).toContain('class="container-overview__header"') expect(source).toContain('class="container-overview__summary"') expect(source).toContain('grid-template-columns:repeat(5,minmax(0,1fr))') }) it('keeps real document, exception and authorized photo operations', () => { expect(source).toContain('uploadContainerDocument(') expect(source).toContain('downloadContainerDocument(') expect(source).toContain('uploadContainerClearance(') expect(source).toContain('completeContainerClearance(') expect(source).toContain('markContainerException') expect(source).toContain('cancelContainerException') expect(source).toContain('downloadContainerPdaPhoto(photo.downloadPath)') }) it('carries the existing read-only CarrierScheduleQuery by booking and container', () => { expect(source).toContain('CarrierScheduleQueryPanel') expect(source).toContain("from '@/modules/port-schedules'") expect(source).toContain(':ocean-booking-id="detail.oceanBookingId"') expect(source).toContain(':container-booking-id="detail.id"') }) })