优化
This commit is contained in:
@@ -1,26 +1,24 @@
|
||||
import { describe, expect, it } from 'vitest'
|
||||
import { bookingContainerError, createBlankBookingContainer, selectBookingContainerType } from './containerRequirements'
|
||||
import { containerRequirementError, createBlankContainerRequirement, selectContainerRequirementType } from './containerRequirements'
|
||||
|
||||
describe('ocean booking real containers', () => {
|
||||
it('starts with one real container and applies the fixed platform specification', () => {
|
||||
const container = createBlankBookingContainer()
|
||||
expect(container).toEqual({
|
||||
containerNo: '', containerType: '40HC', containerKind: 'FCL', capacityCbm: 76, maxWeightKg: 28000,
|
||||
})
|
||||
selectBookingContainerType(container, '20GP')
|
||||
expect(container).toMatchObject({ containerType: '20GP', capacityCbm: 33, maxWeightKg: 28000 })
|
||||
describe('ocean booking container requirements', () => {
|
||||
it('starts with one requirement and applies the fixed platform specification', () => {
|
||||
const requirement = createBlankContainerRequirement()
|
||||
expect(requirement).toEqual({ containerType: '40HC', containerKind: 'FCL', quantity: 1, capacityCbm: 76, maxWeightKg: 28000 })
|
||||
selectContainerRequirementType(requirement, '20GP')
|
||||
expect(requirement).toMatchObject({ containerType: '20GP', capacityCbm: 33, maxWeightKg: 28000 })
|
||||
})
|
||||
|
||||
it('requires unique real container numbers and fixed specifications', () => {
|
||||
const first = { ...createBlankBookingContainer(), containerNo: 'MSCU1234567' }
|
||||
expect(bookingContainerError([createBlankBookingContainer()])).toContain('尚未填写集装箱号')
|
||||
expect(bookingContainerError([first, { ...first, containerNo: 'mscu1234567' }])).toContain('重复')
|
||||
expect(bookingContainerError([{ ...first, capacityCbm: 75 }])).toContain('固定规格')
|
||||
expect(bookingContainerError([first])).toBeNull()
|
||||
it('requires positive quantities and fixed specifications', () => {
|
||||
const requirement = createBlankContainerRequirement()
|
||||
expect(containerRequirementError([])).toContain('至少保留一项')
|
||||
expect(containerRequirementError([{ ...requirement, quantity: 0 }])).toContain('数量必须')
|
||||
expect(containerRequirementError([{ ...requirement, capacityCbm: 75 }])).toContain('固定规格')
|
||||
expect(containerRequirementError([requirement])).toBeNull()
|
||||
})
|
||||
|
||||
it('limits one booking to twenty real containers', () => {
|
||||
const containers = Array.from({ length: 21 }, (_, index) => ({ ...createBlankBookingContainer(), containerNo: `MSCU${index}` }))
|
||||
expect(bookingContainerError(containers)).toContain('最多登记 20 个')
|
||||
it('limits one booking to twenty requirement rows', () => {
|
||||
const requirements = Array.from({ length: 21 }, () => createBlankContainerRequirement())
|
||||
expect(containerRequirementError(requirements)).toContain('最多登记 20 项')
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user