Spaces:
Paused
Paused
import fs from 'fs'; | |
import path from 'path'; | |
import customer_service from '../../../../graph/test/dsl_examples/customer_service.json'; | |
import headhunter_zh from '../../../../graph/test/dsl_examples/headhunter_zh.json'; | |
import interpreter from '../../../../graph/test/dsl_examples/interpreter.json'; | |
import retrievalRelevantRewriteAndGenerate from '../../../../graph/test/dsl_examples/retrieval_relevant_rewrite_and_generate.json'; | |
import { dsl } from './mock'; | |
import { buildNodesAndEdgesFromDSLComponents } from './utils'; | |
test('buildNodesAndEdgesFromDSLComponents', () => { | |
const { edges, nodes } = buildNodesAndEdgesFromDSLComponents(dsl.components); | |
expect(nodes.length).toEqual(4); | |
expect(edges.length).toEqual(4); | |
expect(edges).toEqual( | |
expect.arrayContaining([ | |
expect.objectContaining({ | |
source: 'begin', | |
target: 'Answer:China', | |
}), | |
expect.objectContaining({ | |
source: 'Answer:China', | |
target: 'Retrieval:China', | |
}), | |
expect.objectContaining({ | |
source: 'Retrieval:China', | |
target: 'Generate:China', | |
}), | |
expect.objectContaining({ | |
source: 'Generate:China', | |
target: 'Answer:China', | |
}), | |
]), | |
); | |
}); | |
test('build nodes and edges from headhunter_zh dsl', () => { | |
const { edges, nodes } = buildNodesAndEdgesFromDSLComponents( | |
headhunter_zh.components, | |
); | |
console.info('node length', nodes.length); | |
console.info('edge length', edges.length); | |
try { | |
fs.writeFileSync( | |
path.join(__dirname, 'headhunter_zh.json'), | |
JSON.stringify({ edges, nodes }, null, 4), | |
); | |
console.log('JSON data is saved.'); | |
} catch (error) { | |
console.warn(error); | |
} | |
expect(nodes.length).toEqual(12); | |
}); | |
test('build nodes and edges from customer_service dsl', () => { | |
const { edges, nodes } = buildNodesAndEdgesFromDSLComponents( | |
customer_service.components, | |
); | |
console.info('node length', nodes.length); | |
console.info('edge length', edges.length); | |
try { | |
fs.writeFileSync( | |
path.join(__dirname, 'customer_service.json'), | |
JSON.stringify({ edges, nodes }, null, 4), | |
); | |
console.log('JSON data is saved.'); | |
} catch (error) { | |
console.warn(error); | |
} | |
expect(nodes.length).toEqual(12); | |
}); | |
test('build nodes and edges from interpreter dsl', () => { | |
const { edges, nodes } = buildNodesAndEdgesFromDSLComponents( | |
interpreter.components, | |
); | |
console.info('node length', nodes.length); | |
console.info('edge length', edges.length); | |
try { | |
fs.writeFileSync( | |
path.join(__dirname, 'interpreter.json'), | |
JSON.stringify({ edges, nodes }, null, 4), | |
); | |
console.log('JSON data is saved.'); | |
} catch (error) { | |
console.warn(error); | |
} | |
expect(nodes.length).toEqual(12); | |
}); | |
test('build nodes and edges from chat bot dsl', () => { | |
const { edges, nodes } = buildNodesAndEdgesFromDSLComponents( | |
retrievalRelevantRewriteAndGenerate.components, | |
); | |
try { | |
fs.writeFileSync( | |
path.join(__dirname, 'retrieval_relevant_rewrite_and_generate.json'), | |
JSON.stringify({ edges, nodes }, null, 4), | |
); | |
console.log('JSON data is saved.'); | |
} catch (error) { | |
console.warn(error); | |
} | |
expect(nodes.length).toEqual(12); | |
}); | |