const assetsRoutes = require('../../../src/routes/assets'); describe('assets route validation', () => { const validPayload = { name: 'TEST SMOKE ASSET1D FA', assetType: 'fixed_asset', sensitivityLevel: 'internal', categoryId: '11111111-1111-4111-8111-111111111111', legalEntityId: '22222222-2222-4222-8222-222222222222', costCenterId: '33333333-3333-4333-8333-333333333333', ownerEmployeeId: '44444444-4444-4444-8444-444444444444', keeperEmployeeId: '55555555-5555-4555-8555-555555555555', metadata: { testMarker: 'TEST-SMOKE-ASSET1D', sourceOfTruth: 'git', }, }; it('accepts ASSET1D metadata objects on asset create payloads', () => { expect(assetsRoutes.__testables.parseAssetCreateBodyForTest(validPayload)).toEqual( expect.objectContaining({ name: 'TEST SMOKE ASSET1D FA', assetType: 'fixed_asset', metadata: { testMarker: 'TEST-SMOKE-ASSET1D', sourceOfTruth: 'git', }, }), ); }); it.each(['lastVerifiedAt', 'expiresAt', 'activatedAt', 'retiredAt'])('rejects calendar overflow in %s', (field) => { expect(() => assetsRoutes.__testables.parseAssetCreateBodyForTest({ ...validPayload, [field]: '2026-02-30' })) .toThrow(); expect(assetsRoutes.__testables.parseAssetCreateBodyForTest({ ...validPayload, [field]: '2024-02-29' })[field]) .toBe('2024-02-29'); expect(assetsRoutes.__testables.parseAssetCreateBodyForTest({ ...validPayload, [field]: null })[field]) .toBeNull(); }); });