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 箱') }) })