From 7c0db40040551a3c113b61f011e7d8fc46c7d9dd Mon Sep 17 00:00:00 2001 From: Caesar Mukama Date: Tue, 30 Jun 2026 12:37:33 +0300 Subject: [PATCH] Fix: map miner model name in work-order CSV export Claude-Session: https://claude.ai/code/session_01XV2QxZ65mrwUZCBjjMh1W2 --- tests/unit/lib/work.order.export.test.js | 7 +++++++ workers/lib/server/lib/work.order.export.js | 5 ++++- 2 files changed, 11 insertions(+), 1 deletion(-) 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()