diff --git a/tests/unit/lib/work.order.export.test.js b/tests/unit/lib/work.order.export.test.js index 5584998..1a83027 100644 --- a/tests/unit/lib/work.order.export.test.js +++ b/tests/unit/lib/work.order.export.test.js @@ -124,3 +124,10 @@ test('work.order.export: RMA CSV leaves an unmapped deviceModel untouched', (t) const row = renderRmaCsv([wo]).trim().split('\r\n')[1].split(',') t.is(row[1], 'miner-am-s21', 'unmapped model falls back to the raw value') }) + +test('work.order.export: CSV maps a known miner type slug in the deviceModel column', (t) => { + const wo = { ...WO, info: { ...WO.info, deviceModel: 'miner-wm-m63spp', partsMoves: [] } } + const lines = renderWorkOrderCsv(wo).trim().split('\r\n') + const idx = lines[0].split(',').indexOf('deviceModel') + t.is(lines[1].split(',')[idx], 'M63S', 'deviceModel column shows the friendly model name') +}) diff --git a/workers/lib/server/lib/work.order.export.js b/workers/lib/server/lib/work.order.export.js index 0306038..895761b 100644 --- a/workers/lib/server/lib/work.order.export.js +++ b/workers/lib/server/lib/work.order.export.js @@ -12,7 +12,10 @@ function renderWorkOrderCsv (wo) { const { partsMoves, ...woFields } = wo.info || {} const base = { code: wo.code, ...woFields } const moves = Array.isArray(partsMoves) ? partsMoves : [] - const rows = moves.length ? moves.map(move => ({ ...base, ...move })) : [base] + const rawRows = moves.length ? moves.map(move => ({ ...base, ...move })) : [base] + const rows = rawRows.map(row => ( + row.deviceModel == null ? row : { ...row, deviceModel: displayMinerModel(row.deviceModel) } + )) const headers = [] const seen = new Set()