Files
huangzd1997 882ccdac12 refactor(品牌工具页): 抽取 formatDateTime 与 uploadPathsToJava 公共工具
- 新增 shared/utils/datetime.ts:13 个品牌页逐字重复的 formatDateTime 收敛为一处;
  语义不同的 3 个变体(toLocaleString / 字符串切片 / 支持时间戳)保留不动
- 新增 shared/utils/upload-to-java.ts:10 个品牌页的上传循环收敛,api 依赖注入便于单测;
  保留 uploadOss(品牌Tab)与 returnEmptyWhenUnavailable(跟价)两处行为差异
- 补 datetime / upload-to-java 单测 10 例

净减约 327 行;vue-tsc 构建与 690 个前端单测全通过
2026-09-13 23:16:59 +08:00

24 lines
905 B
TypeScript

import { test } from 'node:test'
import assert from 'node:assert/strict'
import { formatDateTime } from '../src/shared/utils/datetime.ts'
// 用本地时间构造再往返 ISO,期望值由同一本地时区还原,避免依赖运行环境的时区。
test('formatDateTime 空值返回 -', () => {
assert.equal(formatDateTime(undefined), '-')
assert.equal(formatDateTime(''), '-')
})
test('formatDateTime 无法解析时原样返回', () => {
assert.equal(formatDateTime('not-a-date'), 'not-a-date')
})
test('formatDateTime 按 YYYY-MM-DD HH:mm:ss 补零(个位月/日/时/分/秒)', () => {
const local = new Date(2026, 0, 5, 9, 7, 3)
assert.equal(formatDateTime(local.toISOString()), '2026-01-05 09:07:03')
})
test('formatDateTime 年末边界', () => {
const local = new Date(2026, 11, 31, 23, 59, 59)
assert.equal(formatDateTime(local.toISOString()), '2026-12-31 23:59:59')
})