51 lines
1.6 KiB
TypeScript
51 lines
1.6 KiB
TypeScript
import assert from 'node:assert/strict';
|
|
import test from 'node:test';
|
|
import type { DataSource } from 'typeorm';
|
|
import { FieldBriefingService } from '../../src/act-administration/field-briefing.service';
|
|
|
|
test('field briefing convierte el timestamptz de pg a YYYY-MM-DD antes del cast SQL', async () => {
|
|
const calls: Array<{ sql: string; params: unknown[] }> = [];
|
|
let queryNumber = 0;
|
|
|
|
const dataSource = {
|
|
query: async (sql: string, params: unknown[]) => {
|
|
calls.push({ sql, params });
|
|
queryNumber += 1;
|
|
|
|
if (queryNumber === 1) {
|
|
return [{
|
|
id: '11111111-1111-4111-8111-111111111111',
|
|
code: 'INSP-00002-17-09-26',
|
|
status: 'DRAFT',
|
|
plannedStartAt: new Date('2026-09-17T23:42:00.000Z'),
|
|
areaId: '22222222-2222-4222-8222-222222222222',
|
|
companyId: '33333333-3333-4333-8333-333333333333',
|
|
areaCode: 'PRES-AREA-TEST',
|
|
areaName: 'Barrancas',
|
|
companyCode: 'PRES-ORG-TEST',
|
|
companyName: 'Petróleos Sudamericanos Energy S.A.',
|
|
}];
|
|
}
|
|
|
|
return [];
|
|
},
|
|
} as unknown as DataSource;
|
|
|
|
const result = await new FieldBriefingService(dataSource).forVisit(
|
|
'11111111-1111-4111-8111-111111111111',
|
|
);
|
|
|
|
assert.equal(calls.length, 2);
|
|
assert.equal(calls[1]?.params[3], '2026-09-17');
|
|
assert.equal(result.plannedOn, '2026-09-17');
|
|
assert.deepEqual(result.summary, {
|
|
acts: 0,
|
|
findings: 0,
|
|
inventoryItems: 0,
|
|
responseOverdue: 0,
|
|
commitmentOverdue: 0,
|
|
verificationPending: 0,
|
|
});
|
|
assert.deepEqual(result.acts, []);
|
|
});
|