33 lines
1.9 KiB
TypeScript
33 lines
1.9 KiB
TypeScript
import { mount } from '@vue/test-utils'
|
||
import { describe, expect, it } from 'vitest'
|
||
import SmartLoadingCandidateInbounds from './SmartLoadingCandidateInbounds.vue'
|
||
import type { SmartLoadingCandidate } from '../types'
|
||
|
||
describe('sealed pallet composition', () => {
|
||
it('shows the two inbound portions, not the whole pallet count twice', async () => {
|
||
const candidate = { unitType: 'SEALED_PALLET', inboundCode: 'I180', availablePackageCount: 13,
|
||
groupMembers: [{ accountId: '1', inboundId: '180', inboundCode: 'I180', availablePackageCount: 3 },
|
||
{ accountId: '1', inboundId: '181', inboundCode: 'I181', availablePackageCount: 10 }] } as SmartLoadingCandidate
|
||
const wrapper = mount(SmartLoadingCandidateInbounds, { props: { candidate } })
|
||
expect(wrapper.get('summary').text()).toBe('2 个入仓码 · 展开')
|
||
expect(wrapper.text()).toContain('I180:3 箱')
|
||
expect(wrapper.text()).toContain('I181:10 箱')
|
||
expect(wrapper.text()).not.toContain('13 箱')
|
||
expect(wrapper.findAll('button')).toHaveLength(0)
|
||
})
|
||
|
||
it('renders the same composition when it comes from an assigned plan pallet', () => {
|
||
const wrapper = mount(SmartLoadingCandidateInbounds, { props: {
|
||
sealedPallet: true,
|
||
fallbackInboundCode: 'I180',
|
||
members: [
|
||
{ accountId: '1', inboundId: '180', orderId: '280', orderNo: 'O180', inboundCode: 'I180', customerName: '客户', availablePackageCount: 6, orderStatusSnapshot: null, expectedArrivalAt: null },
|
||
{ accountId: '1', inboundId: '181', orderId: '281', orderNo: 'O181', inboundCode: 'I181', customerName: '客户', availablePackageCount: 5, orderStatusSnapshot: null, expectedArrivalAt: null },
|
||
],
|
||
} })
|
||
expect(wrapper.get('summary').text()).toBe('2 个入仓码 · 展开')
|
||
expect(wrapper.text()).toContain('I180:6 箱')
|
||
expect(wrapper.text()).toContain('I181:5 箱')
|
||
})
|
||
})
|