import { readFileSync } from 'node:fs' import { resolve } from 'node:path' import { describe, expect, it } from 'vitest' const source = readFileSync(resolve(process.cwd(), 'src/shared/components/InboundCodeRelationshipDrawer.vue'), 'utf8') describe('InboundCodeRelationshipDrawer contract', () => { it('loads only permission-authorized server read models and keeps failures isolated', () => { expect(source).toContain('props.canReadBase') expect(source).toContain('props.canReadLoading') expect(source).toContain('props.canReadOverseas') expect(source).toContain('getPlatformInboundCodeAssociation(code)') expect(source).toContain('getLoadingAssociationSummary(code)') expect(source).toContain('getOverseasInboundCodeRelationship(code)') expect(source).toContain('await Promise.all(tasks)') expect(source).toContain(' { expect(source).toContain('baseAssociation.inboundCode') expect(source).toContain('baseAssociation.orderNo') expect(source).toContain('baseAssociation.customerName') expect(source).toContain('baseAssociation.destinationWarehouseName') expect(source).not.toContain('{{ baseAssociation.orderId') expect(source).not.toContain('{{ baseAssociation.customerId') expect(source).not.toContain('{{ baseAssociation.destinationWarehouseId') expect(source).toContain('text-overflow:ellipsis') expect(source).toContain(':title="display(baseAssociation.inboundCode)"') }) })