feat(v2): add build script that inlines tested logic/*.js into n8n Code nodes
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
00bb89f4f4
commit
ec596a29a8
@@ -0,0 +1,28 @@
|
||||
const { test } = require('node:test');
|
||||
const assert = require('node:assert/strict');
|
||||
const { buildWorkflow } = require('./build-workflow');
|
||||
|
||||
test('workflow montado tem nome e nodes esperados', () => {
|
||||
const wf = buildWorkflow();
|
||||
assert.equal(wf.name, '[DEV] Coordenador GLPI - Chamados Abertos v2 (Shadow)');
|
||||
const names = wf.nodes.map((n) => n.name);
|
||||
assert.ok(names.includes('Code - Montar SQL Candidatos'));
|
||||
});
|
||||
|
||||
test('Code - Montar SQL Candidatos tem a logica de config e o SQL inlined (sem marcador de build)', () => {
|
||||
const wf = buildWorkflow();
|
||||
const node = wf.nodes.find((n) => n.name === 'Code - Montar SQL Candidatos');
|
||||
assert.ok(node.parameters.jsCode.includes('function parseConfig'));
|
||||
assert.ok(node.parameters.jsCode.includes('WITH ultima_interacao'));
|
||||
assert.ok(!node.parameters.jsCode.includes('__BUILD__'));
|
||||
assert.ok(!node.parameters.jsCode.includes('__SQL_CANDIDATOS_V2__'));
|
||||
});
|
||||
|
||||
test('nenhum node de Code sobra com marcador nao resolvido', () => {
|
||||
const wf = buildWorkflow();
|
||||
for (const node of wf.nodes) {
|
||||
if (node.type === 'n8n-nodes-base.code') {
|
||||
assert.ok(!node.parameters.jsCode.includes('__BUILD__'), `node ${node.name} tem marcador nao resolvido`);
|
||||
}
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user