c6b01def4c
CI / verify (push) Waiting to run
拦截伪区县写入与下单;推单失败挂 fulfillmentHold,HQ 可见超区/推单失败。 Co-authored-by: Cursor <cursoragent@cursor.com>
51 lines
1.4 KiB
TypeScript
51 lines
1.4 KiB
TypeScript
import { describe, expect, it } from 'vitest';
|
|
import {
|
|
isConcreteShippingDistrict,
|
|
isPseudoShippingDistrict,
|
|
shippingDetailCityWideHint,
|
|
validateShippingAddress,
|
|
} from './shipping-address';
|
|
|
|
describe('shipping address', () => {
|
|
it('rejects pseudo districts', () => {
|
|
expect(isPseudoShippingDistrict('全市')).toBe(true);
|
|
expect(isPseudoShippingDistrict('全部')).toBe(true);
|
|
expect(isPseudoShippingDistrict('')).toBe(true);
|
|
expect(isConcreteShippingDistrict('金水区')).toBe(true);
|
|
});
|
|
|
|
it('requires concrete district and detail length', () => {
|
|
expect(
|
|
validateShippingAddress({
|
|
province: '河南省',
|
|
city: '郑州市',
|
|
district: '全市',
|
|
detail: '上馆子信阳菜尚购生活广场店',
|
|
}).ok,
|
|
).toBe(false);
|
|
|
|
expect(
|
|
validateShippingAddress({
|
|
province: '河南省',
|
|
city: '郑州市',
|
|
district: '金水区',
|
|
detail: '短',
|
|
}).message,
|
|
).toMatch(/详细/);
|
|
|
|
expect(
|
|
validateShippingAddress({
|
|
province: '河南省',
|
|
city: '郑州市',
|
|
district: '金水区',
|
|
detail: '沙口路8号院尚购生活广场',
|
|
}).ok,
|
|
).toBe(true);
|
|
});
|
|
|
|
it('soft-hints bare 全市 in detail', () => {
|
|
expect(shippingDetailCityWideHint('河南省郑州市全市上馆子')).toBeTruthy();
|
|
expect(shippingDetailCityWideHint('金水区沙口路8号')).toBeNull();
|
|
});
|
|
});
|