diff --git a/src/tests/insights/populateTemplate.test.ts b/src/tests/insights/populateTemplate.test.ts new file mode 100644 index 0000000000000000000000000000000000000000..fafa759ac88fd18f5416cbc8684c67f3a2d61fd6 --- /dev/null +++ b/src/tests/insights/populateTemplate.test.ts @@ -0,0 +1,50 @@ +import { expect, test, describe, it } from 'bun:test'; +import { populateTemplate } from './../../utils/insights'; +import { type GraphQueryResultMetaFromBackend } from 'ts-common'; + +const mockResult: GraphQueryResultMetaFromBackend = { + metaData: { + topological: { + density: 0, + self_loops: 0, + }, + nodes: { + count: 1, + labels: ['NodeTypeA'], + types: { + NodeTypeA: { + count: 1, + attributes: { + age: { + attributeType: 'number', + statistics: { + min: 10, + max: 50, + average: 42, + count: 100, + }, + }, + }, + }, + }, + }, + edges: { + count: 0, + labels: [], + types: {}, + }, + }, + nodeCounts: { updatedAt: 2313 }, + nodes: [], + edges: [], +}; + +describe('populateTemplate', () => { + it('should replace statistic variables correctly', async () => { + const template = 'The mean value is {{ statistic:NodeTypeA • age • average }}.'; + const expectedOutput = 'The mean value is 42 .'; + const result = await populateTemplate(template, mockResult, []); + + expect(result).toBe(expectedOutput); + }); +});