调整部分前端布局和后端增删改逻辑
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
import assert from 'node:assert/strict'
|
||||
import { test } from 'node:test'
|
||||
import { buildTrendData, getTrendRangeQuery, TREND_RANGE_OPTIONS } from '../src/utils/dashboardTrend.js'
|
||||
|
||||
const referenceDate = new Date(2026, 8, 26, 12)
|
||||
|
||||
test('趋势下拉提供 7 天、14 天和 1 个月三个选项', () => {
|
||||
assert.deepEqual(TREND_RANGE_OPTIONS, [
|
||||
{ value: 7, label: '近 7 天' },
|
||||
{ value: 14, label: '近 14 天' },
|
||||
{ value: 30, label: '近 1 个月' }
|
||||
])
|
||||
})
|
||||
|
||||
test('趋势范围为近 14 天时,查询从 13 天前开始并包含今天', () => {
|
||||
assert.deepEqual(getTrendRangeQuery(14, referenceDate), {
|
||||
beginTime: '2026-09-13',
|
||||
endTime: '2026-09-26'
|
||||
})
|
||||
})
|
||||
|
||||
test('趋势范围为近 1 个月时最多查询 30 天', () => {
|
||||
assert.deepEqual(getTrendRangeQuery(30, referenceDate), {
|
||||
beginTime: '2026-08-28',
|
||||
endTime: '2026-09-26'
|
||||
})
|
||||
})
|
||||
|
||||
test('趋势数据按选择的天数生成日期轴并聚合入库单与出库包数', () => {
|
||||
const result = buildTrendData(
|
||||
[
|
||||
{ createTime: '2026-09-20T08:00:00+08:00' },
|
||||
{ createTime: '2026-09-24T09:00:00+08:00' },
|
||||
{ createTime: '2026-09-24T10:00:00+08:00' }
|
||||
],
|
||||
[
|
||||
{ confirmedAt: '2026-09-20T11:00:00+08:00', packageQty: 4 },
|
||||
{ confirmedAt: '2026-09-24T13:00:00+08:00', packageQty: 7 }
|
||||
],
|
||||
7,
|
||||
referenceDate
|
||||
)
|
||||
|
||||
assert.deepEqual(result.labels, ['9/20', '9/21', '9/22', '9/23', '9/24', '9/25', '9/26'])
|
||||
assert.deepEqual(result.inbound, [1, 0, 0, 0, 2, 0, 0])
|
||||
assert.deepEqual(result.outbound, [4, 0, 0, 0, 7, 0, 0])
|
||||
})
|
||||
Reference in New Issue
Block a user