feat: normalize order dates in database
This commit is contained in:
37
backend/test/orderMapper.test.js
Normal file
37
backend/test/orderMapper.test.js
Normal file
@@ -0,0 +1,37 @@
|
||||
const assert = require('node:assert/strict');
|
||||
const test = require('node:test');
|
||||
|
||||
const { normalizeOrderDate, normalizeOrderPayload } = require('../mappers/orderMapper');
|
||||
|
||||
test('normalizeOrderDate accepts Brazilian display dates', () => {
|
||||
assert.equal(normalizeOrderDate('28/05/2026'), '2026-05-28');
|
||||
assert.equal(normalizeOrderDate('28-05-2026'), '2026-05-28');
|
||||
});
|
||||
|
||||
test('normalizeOrderDate accepts ISO-like dates', () => {
|
||||
assert.equal(normalizeOrderDate('2026-05-28'), '2026-05-28');
|
||||
assert.equal(normalizeOrderDate('2026/05/28 10:30:00'), '2026-05-28');
|
||||
});
|
||||
|
||||
test('normalizeOrderDate rejects invalid dates', () => {
|
||||
assert.equal(normalizeOrderDate(''), null);
|
||||
assert.equal(normalizeOrderDate('not a date'), null);
|
||||
assert.equal(normalizeOrderDate('31/02/2026'), null);
|
||||
});
|
||||
|
||||
test('normalizeOrderPayload includes normalized date without changing display date', () => {
|
||||
const payload = normalizeOrderPayload({
|
||||
Nome_Cliente: 'Cliente Teste',
|
||||
Data_Pedido: '28/05/2026',
|
||||
Valor_Pedido: '120.50',
|
||||
ID_Produto: 'SKU-1',
|
||||
Descricao_Produto: 'Produto',
|
||||
Quantidade: '2',
|
||||
Valor_Unitario: '60.25',
|
||||
ID_Pedido: 'ORDER-1',
|
||||
Fone_Cliente: '(16) 99999-9999'
|
||||
});
|
||||
|
||||
assert.equal(payload[1], '28/05/2026');
|
||||
assert.equal(payload[2], '2026-05-28');
|
||||
});
|
||||
Reference in New Issue
Block a user