const assert = require('node:assert/strict'); const test = require('node:test'); const { normalizeFamilyKey, normalizeFamilyYields, normalizeProductOverrides } = require('../services/cuttingSettingsService'); test('normalizeFamilyKey accepts only known cut families', () => { assert.equal(normalizeFamilyKey('blcs'), 'BLCS'); assert.equal(normalizeFamilyKey(' BLOS '), 'BLOS'); assert.equal(normalizeFamilyKey('OUTROS'), ''); assert.equal(normalizeFamilyKey('unknown'), ''); }); test('normalizeFamilyYields keeps positive numeric yield rules', () => { assert.deepEqual(normalizeFamilyYields({ BLCS: '50', BLOS: 0, BLMC: -1, BLPM: '12.5', OUTROS: 99 }), { BLCS: 50, BLPM: 12.5 }); }); test('normalizeProductOverrides trims and removes empty overrides', () => { assert.deepEqual(normalizeProductOverrides({ ' SKU-1 ': { familyKey: 'blcs', color: ' Preto ', size: ' m ' }, 'SKU-2': { familyKey: 'OUTROS', color: '', size: '' }, 'SKU-3': { familyKey: '', color: ' Branco ', size: '' }, 'SKU-4': null }), { 'SKU-1': { familyKey: 'BLCS', color: 'Preto', size: 'M' }, 'SKU-3': { familyKey: '', color: 'Branco', size: '' } }); });