Files
smom-dbis-138/services/token-aggregation/src/indexer/ohlcv-generator.test.ts
defiQUG 76aa419320 feat: bridges, PMM, flash workflow, token-aggregation, and deployment docs
- CCIP/trustless bridge contracts, GRU tokens, DEX/PMM tests, reserve vault.
- Token-aggregation service routes, planner, chain config, relay env templates.
- Config snapshots and multi-chain deployment markdown updates.
- gitignore services/btc-intake/dist/ (tsc output); do not track dist.

Run forge build && forge test before deploy (large solc graph).

Made-with: Cursor
2026-04-07 23:40:52 -07:00

62 lines
1.4 KiB
TypeScript

const mockQuery = jest.fn();
const mockLoggerInfo = jest.fn();
jest.mock('../database/client', () => ({
getDatabasePool: () => ({ query: mockQuery }),
}));
jest.mock('../utils/logger', () => ({
logger: {
info: mockLoggerInfo,
warn: jest.fn(),
error: jest.fn(),
},
}));
import { OHLCVGenerator } from './ohlcv-generator';
describe('OHLCVGenerator', () => {
beforeEach(() => {
mockQuery.mockReset();
mockLoggerInfo.mockReset();
});
it('returns empty data and logs once when swap tables are not provisioned yet', async () => {
mockQuery.mockRejectedValue({
code: '42P01',
message: 'relation "swap_events" does not exist',
});
const generator = new OHLCVGenerator();
await expect(
generator.generateOHLCV(
138,
'0xToken',
'1h',
new Date('2026-03-01T00:00:00.000Z'),
new Date('2026-03-02T00:00:00.000Z')
)
).resolves.toEqual([]);
await expect(
generator.generateOHLCV(
138,
'0xToken',
'1h',
new Date('2026-03-01T00:00:00.000Z'),
new Date('2026-03-02T00:00:00.000Z')
)
).resolves.toEqual([]);
expect(mockLoggerInfo).toHaveBeenCalledTimes(1);
expect(mockLoggerInfo).toHaveBeenCalledWith(
'Skipping OHLCV generation; relation "swap_events" is not available yet',
expect.objectContaining({
operation: 'OHLCV generation',
relation: 'swap_events',
})
);
});
});