36 lines
1.9 KiB
TypeScript
36 lines
1.9 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/overseas-warehouse/pages/RelabelOrderDetailView.vue'), 'utf8')
|
||
|
||
describe('RelabelOrderDetailView', () => {
|
||
it('renders carton relabel mappings as a row list instead of summary form fields', () => {
|
||
expect(source).toContain('<template #content-after>')
|
||
expect(source).toContain('<h2>箱唛换标信息</h2>')
|
||
expect(source).toContain('v-for="item in detail?.items || []"')
|
||
expect(source).toContain('text(item.cartonMark)')
|
||
expect(source).toContain('text(item.fbaCartonMark)')
|
||
expect(source).not.toContain("{ title: '箱唛换标信息', fields:")
|
||
})
|
||
|
||
it('shows the review state and customer-facing return order and FBA warehouse codes', () => {
|
||
expect(source).toContain("PENDING_REVIEW: '待审核'")
|
||
expect(source).toContain('value?.application.customerOrderNo || value?.application.lastlegOrderNo')
|
||
expect(source).toContain('text(item.destinationFbaWarehouseCode)')
|
||
expect(source).not.toContain('item.destinationFbaWarehouseCode || item.destinationWarehouseId')
|
||
expect(source).toContain('items.flatMap(relabelSkuCodes)')
|
||
expect(source).toContain('v-for="(sku, index) in item.skuItems"')
|
||
expect(source).toContain('{{ sku.skuCode }} → {{ sku.newSkuCode }} × {{ sku.quantity }} 件')
|
||
})
|
||
|
||
it('lets platform operators confirm completion or return PDA work for rework', () => {
|
||
expect(source).toContain('@click="confirmCompletion"')
|
||
expect(source).toContain('确认换标完成')
|
||
expect(source).toContain('@click="returnForRework"')
|
||
expect(source).toContain('退回重新贴标')
|
||
expect(source).toContain('await confirmRelabelCompletion(orderId.value)')
|
||
expect(source).toContain('await returnRelabelForRework(orderId.value')
|
||
})
|
||
})
|