@maestro-ai/mcp-server 5.5.3 → 5.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/dist/errors/index.js +2 -2
- package/dist/errors/index.js.map +1 -1
- package/dist/flows/onboarding-orchestrator.js +1 -1
- package/dist/flows/onboarding-orchestrator.js.map +1 -1
- package/dist/handlers/field-normalizer.d.ts +31 -0
- package/dist/handlers/field-normalizer.d.ts.map +1 -0
- package/dist/handlers/field-normalizer.js +70 -0
- package/dist/handlers/field-normalizer.js.map +1 -0
- package/dist/handlers/prd-scorer.d.ts +60 -0
- package/dist/handlers/prd-scorer.d.ts.map +1 -0
- package/dist/handlers/prd-scorer.js +157 -0
- package/dist/handlers/prd-scorer.js.map +1 -0
- package/dist/handlers/prototype-phase-handler.js.map +1 -1
- package/dist/handlers/shared-prompt-handler.js.map +1 -1
- package/dist/handlers/specialist-formatters.d.ts +42 -0
- package/dist/handlers/specialist-formatters.d.ts.map +1 -0
- package/dist/handlers/specialist-formatters.js +272 -0
- package/dist/handlers/specialist-formatters.js.map +1 -0
- package/dist/handlers/specialist-phase-handler.d.ts +1 -10
- package/dist/handlers/specialist-phase-handler.d.ts.map +1 -1
- package/dist/handlers/specialist-phase-handler.js +11 -501
- package/dist/handlers/specialist-phase-handler.js.map +1 -1
- package/dist/legacy-tools.d.ts +21 -0
- package/dist/legacy-tools.d.ts.map +1 -0
- package/dist/legacy-tools.js +377 -0
- package/dist/legacy-tools.js.map +1 -0
- package/dist/router.d.ts +2 -2
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +6 -378
- package/dist/router.js.map +1 -1
- package/dist/server.d.ts +18 -4
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +70 -1
- package/dist/server.js.map +1 -1
- package/dist/services/flow-engine.d.ts.map +1 -1
- package/dist/services/flow-engine.js +1 -2
- package/dist/services/flow-engine.js.map +1 -1
- package/dist/services/onboarding.service.js.map +1 -1
- package/dist/services/scoring-config.d.ts +47 -0
- package/dist/services/scoring-config.d.ts.map +1 -0
- package/dist/services/scoring-config.js +88 -0
- package/dist/services/scoring-config.js.map +1 -0
- package/dist/services/state.service.d.ts.map +1 -1
- package/dist/services/state.service.js +3 -9
- package/dist/services/state.service.js.map +1 -1
- package/dist/services/static-validator.service.d.ts +28 -0
- package/dist/services/static-validator.service.d.ts.map +1 -0
- package/dist/services/static-validator.service.js +55 -0
- package/dist/services/static-validator.service.js.map +1 -0
- package/dist/services/task-decomposer.service.d.ts +59 -0
- package/dist/services/task-decomposer.service.d.ts.map +1 -0
- package/dist/services/task-decomposer.service.js +162 -0
- package/dist/services/task-decomposer.service.js.map +1 -0
- package/dist/services/test-stub-generator.service.d.ts +32 -0
- package/dist/services/test-stub-generator.service.d.ts.map +1 -0
- package/dist/services/test-stub-generator.service.js +71 -0
- package/dist/services/test-stub-generator.service.js.map +1 -0
- package/dist/stdio.js +7 -71
- package/dist/stdio.js.map +1 -1
- package/dist/tools/aprovar-gate.d.ts.map +1 -1
- package/dist/tools/aprovar-gate.js +4 -0
- package/dist/tools/aprovar-gate.js.map +1 -1
- package/dist/tools/brainstorm.js.map +1 -1
- package/dist/tools/consolidated/avancar.d.ts.map +1 -1
- package/dist/tools/consolidated/avancar.js +28 -20
- package/dist/tools/consolidated/avancar.js.map +1 -1
- package/dist/tools/discovery.js.map +1 -1
- package/dist/tools/iniciar-projeto.js.map +1 -1
- package/dist/tools/maestro-tool.d.ts.map +1 -1
- package/dist/tools/maestro-tool.js +23 -14
- package/dist/tools/maestro-tool.js.map +1 -1
- package/dist/tools/next-steps-dashboard.js.map +1 -1
- package/dist/tools/prd-writer.js.map +1 -1
- package/dist/tools/proximo.d.ts.map +1 -1
- package/dist/tools/proximo.js +34 -12
- package/dist/tools/proximo.js.map +1 -1
- package/dist/tools/salvar.d.ts.map +1 -1
- package/dist/tools/salvar.js +9 -2
- package/dist/tools/salvar.js.map +1 -1
- package/dist/types/index.d.ts +3 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/entregavel-path.d.ts +9 -0
- package/dist/utils/entregavel-path.d.ts.map +1 -1
- package/dist/utils/entregavel-path.js +26 -10
- package/dist/utils/entregavel-path.js.map +1 -1
- package/dist/utils/gate-orientation.d.ts.map +1 -1
- package/dist/utils/gate-orientation.js +2 -1
- package/dist/utils/gate-orientation.js.map +1 -1
- package/dist/utils/instructions.d.ts +2 -1
- package/dist/utils/instructions.d.ts.map +1 -1
- package/dist/utils/instructions.js +20 -15
- package/dist/utils/instructions.js.map +1 -1
- package/package.json +3 -2
- package/dist/gates/tiers.test.d.ts +0 -2
- package/dist/gates/tiers.test.d.ts.map +0 -1
- package/dist/gates/tiers.test.js +0 -86
- package/dist/gates/tiers.test.js.map +0 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -343
- package/dist/index.js.map +0 -1
- package/dist/tests/aprovar-gate.test.d.ts +0 -2
- package/dist/tests/aprovar-gate.test.d.ts.map +0 -1
- package/dist/tests/aprovar-gate.test.js +0 -113
- package/dist/tests/aprovar-gate.test.js.map +0 -1
- package/dist/tests/brainstorm-prd.test.d.ts +0 -5
- package/dist/tests/brainstorm-prd.test.d.ts.map +0 -1
- package/dist/tests/brainstorm-prd.test.js +0 -291
- package/dist/tests/brainstorm-prd.test.js.map +0 -1
- package/dist/tests/classificacao-progressiva.test.d.ts +0 -5
- package/dist/tests/classificacao-progressiva.test.d.ts.map +0 -1
- package/dist/tests/classificacao-progressiva.test.js +0 -372
- package/dist/tests/classificacao-progressiva.test.js.map +0 -1
- package/dist/tests/content-resolver.test.d.ts +0 -5
- package/dist/tests/content-resolver.test.d.ts.map +0 -1
- package/dist/tests/content-resolver.test.js +0 -157
- package/dist/tests/content-resolver.test.js.map +0 -1
- package/dist/tests/deliverable-validator.test.d.ts +0 -12
- package/dist/tests/deliverable-validator.test.d.ts.map +0 -1
- package/dist/tests/deliverable-validator.test.js +0 -214
- package/dist/tests/deliverable-validator.test.js.map +0 -1
- package/dist/tests/flow-engine.test.d.ts +0 -2
- package/dist/tests/flow-engine.test.d.ts.map +0 -1
- package/dist/tests/flow-engine.test.js +0 -85
- package/dist/tests/flow-engine.test.js.map +0 -1
- package/dist/tests/gate-orientation.test.d.ts +0 -2
- package/dist/tests/gate-orientation.test.d.ts.map +0 -1
- package/dist/tests/gate-orientation.test.js +0 -59
- package/dist/tests/gate-orientation.test.js.map +0 -1
- package/dist/tests/middleware.test.d.ts +0 -5
- package/dist/tests/middleware.test.d.ts.map +0 -1
- package/dist/tests/middleware.test.js +0 -254
- package/dist/tests/middleware.test.js.map +0 -1
- package/dist/tests/migracao-skills.test.d.ts +0 -2
- package/dist/tests/migracao-skills.test.d.ts.map +0 -1
- package/dist/tests/migracao-skills.test.js +0 -208
- package/dist/tests/migracao-skills.test.js.map +0 -1
- package/dist/tests/onboarding-flow.test.d.ts +0 -5
- package/dist/tests/onboarding-flow.test.d.ts.map +0 -1
- package/dist/tests/onboarding-flow.test.js +0 -231
- package/dist/tests/onboarding-flow.test.js.map +0 -1
- package/dist/tests/prd-validation.test.d.ts +0 -6
- package/dist/tests/prd-validation.test.d.ts.map +0 -1
- package/dist/tests/prd-validation.test.js +0 -164
- package/dist/tests/prd-validation.test.js.map +0 -1
- package/dist/tests/readiness-dashboard.test.d.ts +0 -5
- package/dist/tests/readiness-dashboard.test.d.ts.map +0 -1
- package/dist/tests/readiness-dashboard.test.js +0 -252
- package/dist/tests/readiness-dashboard.test.js.map +0 -1
- package/dist/tests/skill-loader.test.d.ts +0 -5
- package/dist/tests/skill-loader.test.d.ts.map +0 -1
- package/dist/tests/skill-loader.test.js +0 -244
- package/dist/tests/skill-loader.test.js.map +0 -1
- package/dist/tests/v52-integration.test.d.ts +0 -14
- package/dist/tests/v52-integration.test.d.ts.map +0 -1
- package/dist/tests/v52-integration.test.js +0 -225
- package/dist/tests/v52-integration.test.js.map +0 -1
- package/dist/tests/watcher.service.test.d.ts +0 -2
- package/dist/tests/watcher.service.test.d.ts.map +0 -1
- package/dist/tests/watcher.service.test.js +0 -119
- package/dist/tests/watcher.service.test.js.map +0 -1
- package/dist/utils/__tests__/prompt-mapper.test.d.ts +0 -2
- package/dist/utils/__tests__/prompt-mapper.test.d.ts.map +0 -1
- package/dist/utils/__tests__/prompt-mapper.test.js +0 -184
- package/dist/utils/__tests__/prompt-mapper.test.js.map +0 -1
|
@@ -1,252 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Testes para readiness checker e dashboard
|
|
3
|
-
*/
|
|
4
|
-
import { describe, it, expect, beforeEach } from 'vitest';
|
|
5
|
-
import { verificarProntidaoPRD, calcularTempoEstimado, gerarInsights, recomendarProximasAcoes, } from '../utils/readiness-checker.js';
|
|
6
|
-
import { gerarBlocosDiscovery } from '../utils/discovery-adapter.js';
|
|
7
|
-
describe('Readiness Checker', () => {
|
|
8
|
-
let onboarding;
|
|
9
|
-
beforeEach(() => {
|
|
10
|
-
onboarding = {
|
|
11
|
-
projectId: 'test-project-123',
|
|
12
|
-
phase: 'prd_draft',
|
|
13
|
-
discoveryStatus: 'completed',
|
|
14
|
-
discoveryBlocks: gerarBlocosDiscovery({
|
|
15
|
-
mode: 'balanced',
|
|
16
|
-
skipCompletedBlocks: false,
|
|
17
|
-
prioritizeByMode: true,
|
|
18
|
-
allowBatchInput: true,
|
|
19
|
-
}).map((bloco) => ({ ...bloco, status: 'completed', fields: bloco.fields.map((field) => ({ ...field, filled: true, value: field.value ?? 'valor preenchido' })) })),
|
|
20
|
-
discoveryResponses: {
|
|
21
|
-
nome_projeto: 'PulseTrack',
|
|
22
|
-
problema: 'Monitorar saúde ocupacional',
|
|
23
|
-
publico_alvo: 'Empresas e profissionais',
|
|
24
|
-
funcionalidades_principais: ['Dashboard', 'Alertas'],
|
|
25
|
-
cronograma: '6 meses',
|
|
26
|
-
plataformas: ['Web'],
|
|
27
|
-
stack_preferida: 'React + Node.js',
|
|
28
|
-
},
|
|
29
|
-
discoveryCompletedAt: new Date().toISOString(),
|
|
30
|
-
brainstormStatus: 'completed',
|
|
31
|
-
brainstormSections: [
|
|
32
|
-
{
|
|
33
|
-
id: 'problema-oportunidade',
|
|
34
|
-
title: 'Problema',
|
|
35
|
-
description: 'Defina',
|
|
36
|
-
prompt: 'Elabore...',
|
|
37
|
-
expectedOutput: 'Análise',
|
|
38
|
-
status: 'completed',
|
|
39
|
-
response: 'Resposta detalhada sobre o problema e oportunidade de mercado, incluindo métricas, referências setoriais e expectativas de crescimento para garantir que ultrapasse o limite mínimo exigido de caracteres pela validação.',
|
|
40
|
-
order: 1,
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
id: 'personas-jtbd',
|
|
44
|
-
title: 'Personas',
|
|
45
|
-
description: 'Defina',
|
|
46
|
-
prompt: 'Crie...',
|
|
47
|
-
expectedOutput: 'Personas',
|
|
48
|
-
status: 'completed',
|
|
49
|
-
response: 'Personas bem definidas com JTBD, detalhando motivações, dores e métricas de sucesso para cada perfil, mantendo o texto acima de cem caracteres conforme requerido.',
|
|
50
|
-
order: 2,
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
id: 'mvp-funcionalidades',
|
|
54
|
-
title: 'MVP',
|
|
55
|
-
description: 'Refine',
|
|
56
|
-
prompt: 'Refine...',
|
|
57
|
-
expectedOutput: 'Matriz RICE',
|
|
58
|
-
status: 'completed',
|
|
59
|
-
response: 'Matriz RICE com funcionalidades priorizadas, apresentando valores de Reach, Impact, Confidence e Effort para cada item, garantindo explicação completa e texto suficientemente longo.',
|
|
60
|
-
order: 3,
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
id: 'metricas-sucesso',
|
|
64
|
-
title: 'Métricas',
|
|
65
|
-
description: 'Defina',
|
|
66
|
-
prompt: 'Defina...',
|
|
67
|
-
expectedOutput: 'North Star',
|
|
68
|
-
status: 'completed',
|
|
69
|
-
response: 'North Star Metric e KPIs definidos com baseline atual, metas trimestrais e justificativa estratégica detalhada para demonstrar maturidade das métricas propostas.',
|
|
70
|
-
order: 4,
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
id: 'riscos-mitigacoes',
|
|
74
|
-
title: 'Riscos',
|
|
75
|
-
description: 'Identifique',
|
|
76
|
-
prompt: 'Identifique...',
|
|
77
|
-
expectedOutput: 'Matriz de riscos',
|
|
78
|
-
status: 'completed',
|
|
79
|
-
response: 'Riscos identificados com planos de mitigação específicos, cobrindo aspectos técnicos, de mercado e de equipe com descrições robustas para satisfazer a validação automática.',
|
|
80
|
-
order: 5,
|
|
81
|
-
},
|
|
82
|
-
],
|
|
83
|
-
brainstormCompletedAt: new Date().toISOString(),
|
|
84
|
-
prdStatus: 'draft',
|
|
85
|
-
prdScore: 0,
|
|
86
|
-
mode: 'balanced',
|
|
87
|
-
totalInteractions: 0,
|
|
88
|
-
};
|
|
89
|
-
});
|
|
90
|
-
describe('verificarProntidaoPRD', () => {
|
|
91
|
-
it('deve retornar score alto quando tudo está completo', () => {
|
|
92
|
-
const resultado = verificarProntidaoPRD(onboarding);
|
|
93
|
-
expect(resultado.score).toBeGreaterThanOrEqual(70);
|
|
94
|
-
expect(resultado.isReady).toBe(true);
|
|
95
|
-
expect(resultado.missingFields.length).toBeLessThan(3);
|
|
96
|
-
});
|
|
97
|
-
it('deve detectar discovery incompleto', () => {
|
|
98
|
-
onboarding.discoveryStatus = 'pending';
|
|
99
|
-
const resultado = verificarProntidaoPRD(onboarding);
|
|
100
|
-
expect(resultado.isReady).toBe(false);
|
|
101
|
-
expect(resultado.missingFields).toContain('Discovery não foi concluído');
|
|
102
|
-
});
|
|
103
|
-
it('deve detectar brainstorm incompleto', () => {
|
|
104
|
-
onboarding.brainstormStatus = 'pending';
|
|
105
|
-
const resultado = verificarProntidaoPRD(onboarding);
|
|
106
|
-
expect(resultado.isReady).toBe(false);
|
|
107
|
-
expect(resultado.missingFields).toContain('Brainstorm não foi concluído');
|
|
108
|
-
});
|
|
109
|
-
it('deve detectar campos obrigatórios faltando', () => {
|
|
110
|
-
onboarding.discoveryResponses.nome_projeto = '';
|
|
111
|
-
const resultado = verificarProntidaoPRD(onboarding);
|
|
112
|
-
expect(resultado.missingFields.length).toBeGreaterThan(0);
|
|
113
|
-
expect(resultado.missingFields.some((f) => f.includes('nome_projeto'))).toBe(true);
|
|
114
|
-
});
|
|
115
|
-
it('deve gerar recomendações quando há lacunas', () => {
|
|
116
|
-
onboarding.discoveryStatus = 'in_progress';
|
|
117
|
-
const resultado = verificarProntidaoPRD(onboarding);
|
|
118
|
-
expect(resultado.recommendations.length).toBeGreaterThan(0);
|
|
119
|
-
expect(resultado.recommendations[0]).toContain('discovery');
|
|
120
|
-
});
|
|
121
|
-
it('deve gerar próximas ações', () => {
|
|
122
|
-
const resultado = verificarProntidaoPRD(onboarding);
|
|
123
|
-
expect(resultado.nextActions.length).toBeGreaterThan(0);
|
|
124
|
-
expect(resultado.nextActions[0]).toBeTruthy();
|
|
125
|
-
});
|
|
126
|
-
});
|
|
127
|
-
describe('calcularTempoEstimado', () => {
|
|
128
|
-
it('deve calcular tempo para discovery incompleto', () => {
|
|
129
|
-
onboarding.discoveryStatus = 'in_progress';
|
|
130
|
-
onboarding.discoveryBlocks = onboarding.discoveryBlocks.map((b) => ({ ...b, status: 'pending' }));
|
|
131
|
-
const tempo = calcularTempoEstimado(onboarding);
|
|
132
|
-
const esperado = (onboarding.discoveryBlocks.length * 5) + 5; // +5 pela validação
|
|
133
|
-
expect(tempo).toBe(esperado);
|
|
134
|
-
});
|
|
135
|
-
it('deve calcular tempo para brainstorm incompleto', () => {
|
|
136
|
-
onboarding.brainstormStatus = 'in_progress';
|
|
137
|
-
onboarding.brainstormSections = onboarding.brainstormSections.map((s) => ({ ...s, status: 'pending' }));
|
|
138
|
-
const tempo = calcularTempoEstimado(onboarding);
|
|
139
|
-
const esperado = (onboarding.brainstormSections.length * 10) + 5;
|
|
140
|
-
expect(tempo).toBe(esperado);
|
|
141
|
-
});
|
|
142
|
-
it('deve retornar 0 quando tudo está completo', () => {
|
|
143
|
-
const tempo = calcularTempoEstimado(onboarding);
|
|
144
|
-
expect(tempo).toBe(5); // Apenas validação do PRD
|
|
145
|
-
});
|
|
146
|
-
it('deve calcular tempo total para fluxo completo', () => {
|
|
147
|
-
onboarding.discoveryStatus = 'in_progress';
|
|
148
|
-
onboarding.discoveryBlocks = onboarding.discoveryBlocks.map((b) => ({ ...b, status: 'pending' }));
|
|
149
|
-
onboarding.brainstormStatus = 'in_progress';
|
|
150
|
-
onboarding.brainstormSections = onboarding.brainstormSections.map((s) => ({ ...s, status: 'pending' }));
|
|
151
|
-
onboarding.prdStatus = 'pending';
|
|
152
|
-
const tempo = calcularTempoEstimado(onboarding);
|
|
153
|
-
const blocosPendentes = onboarding.discoveryBlocks.filter((b) => b.status === 'pending').length;
|
|
154
|
-
const secoesPendentes = onboarding.brainstormSections.filter((s) => s.status === 'pending').length;
|
|
155
|
-
const tempoDiscovery = blocosPendentes * 5;
|
|
156
|
-
const tempoBrainstorm = secoesPendentes * 10;
|
|
157
|
-
const tempoValidacao = 5;
|
|
158
|
-
expect(tempo).toBe(tempoDiscovery + tempoBrainstorm + tempoValidacao);
|
|
159
|
-
});
|
|
160
|
-
});
|
|
161
|
-
describe('gerarInsights', () => {
|
|
162
|
-
it('deve gerar insights quando discovery está completo', () => {
|
|
163
|
-
const insights = gerarInsights(onboarding);
|
|
164
|
-
expect(insights.some((i) => i.includes('Discovery'))).toBe(true);
|
|
165
|
-
});
|
|
166
|
-
it('deve gerar insights quando brainstorm está completo', () => {
|
|
167
|
-
const insights = gerarInsights(onboarding);
|
|
168
|
-
expect(insights.some((i) => i.includes('Brainstorm'))).toBe(true);
|
|
169
|
-
expect(insights.some((i) => i.includes('seções'))).toBe(true);
|
|
170
|
-
});
|
|
171
|
-
it('deve gerar insights sobre stack quando disponível', () => {
|
|
172
|
-
const insights = gerarInsights(onboarding);
|
|
173
|
-
expect(insights.some((i) => i.includes('Stack'))).toBe(true);
|
|
174
|
-
});
|
|
175
|
-
it('deve gerar insights sobre timeline quando disponível', () => {
|
|
176
|
-
const insights = gerarInsights(onboarding);
|
|
177
|
-
expect(insights.some((i) => i.includes('Timeline'))).toBe(true);
|
|
178
|
-
});
|
|
179
|
-
it('deve indicar fase atual', () => {
|
|
180
|
-
const insights = gerarInsights(onboarding);
|
|
181
|
-
expect(insights.some((i) => i.includes('Fase atual'))).toBe(true);
|
|
182
|
-
});
|
|
183
|
-
});
|
|
184
|
-
describe('recomendarProximasAcoes', () => {
|
|
185
|
-
it('deve recomendar completar discovery quando incompleto', () => {
|
|
186
|
-
onboarding.discoveryStatus = 'in_progress';
|
|
187
|
-
onboarding.discoveryBlocks[0].status = 'pending';
|
|
188
|
-
const acoes = recomendarProximasAcoes(onboarding);
|
|
189
|
-
expect(acoes.some((a) => a.action.includes('Discovery'))).toBe(true);
|
|
190
|
-
});
|
|
191
|
-
it('deve recomendar brainstorm quando discovery está completo', () => {
|
|
192
|
-
onboarding.brainstormStatus = 'in_progress';
|
|
193
|
-
onboarding.brainstormSections[0].status = 'pending';
|
|
194
|
-
const acoes = recomendarProximasAcoes(onboarding);
|
|
195
|
-
expect(acoes.some((a) => a.action.includes('Brainstorm'))).toBe(true);
|
|
196
|
-
});
|
|
197
|
-
it('deve recomendar gerar PRD quando brainstorm está completo', () => {
|
|
198
|
-
onboarding.prdStatus = 'pending';
|
|
199
|
-
const acoes = recomendarProximasAcoes(onboarding);
|
|
200
|
-
expect(acoes.some((a) => a.action.includes('PRD'))).toBe(true);
|
|
201
|
-
});
|
|
202
|
-
it('deve recomendar validar PRD quando draft está pronto', () => {
|
|
203
|
-
onboarding.prdStatus = 'draft';
|
|
204
|
-
const acoes = recomendarProximasAcoes(onboarding);
|
|
205
|
-
expect(acoes.some((a) => a.action.includes('Validar'))).toBe(true);
|
|
206
|
-
});
|
|
207
|
-
it('deve priorizar ações corretamente', () => {
|
|
208
|
-
onboarding.discoveryStatus = 'in_progress';
|
|
209
|
-
onboarding.discoveryBlocks = onboarding.discoveryBlocks.map((b) => ({ ...b, status: 'pending' }));
|
|
210
|
-
const acoes = recomendarProximasAcoes(onboarding);
|
|
211
|
-
const acoesAlta = acoes.filter((a) => a.priority === 'high');
|
|
212
|
-
expect(acoesAlta.length).toBeGreaterThan(0);
|
|
213
|
-
expect(acoesAlta[0].action).toContain('Discovery');
|
|
214
|
-
});
|
|
215
|
-
it('deve estimar tempo para cada ação', () => {
|
|
216
|
-
const acoes = recomendarProximasAcoes(onboarding);
|
|
217
|
-
acoes.forEach((acao) => {
|
|
218
|
-
expect(acao.estimatedTime).toBeGreaterThanOrEqual(0);
|
|
219
|
-
});
|
|
220
|
-
});
|
|
221
|
-
});
|
|
222
|
-
describe('Dashboard Integration', () => {
|
|
223
|
-
it('deve consolidar progresso de discovery', () => {
|
|
224
|
-
const completadas = onboarding.discoveryBlocks.filter((b) => b.status === 'completed').length;
|
|
225
|
-
const total = onboarding.discoveryBlocks.length;
|
|
226
|
-
const percentual = Math.round((completadas / total) * 100);
|
|
227
|
-
expect(percentual).toBe(100);
|
|
228
|
-
});
|
|
229
|
-
it('deve consolidar progresso de brainstorm', () => {
|
|
230
|
-
const completadas = onboarding.brainstormSections.filter((s) => s.status === 'completed').length;
|
|
231
|
-
const total = onboarding.brainstormSections.length;
|
|
232
|
-
const percentual = Math.round((completadas / total) * 100);
|
|
233
|
-
expect(percentual).toBe(100);
|
|
234
|
-
});
|
|
235
|
-
it('deve consolidar prontidão do PRD', () => {
|
|
236
|
-
const prontidao = verificarProntidaoPRD(onboarding);
|
|
237
|
-
expect(prontidao.isReady).toBe(true);
|
|
238
|
-
expect(prontidao.score).toBeGreaterThanOrEqual(70);
|
|
239
|
-
});
|
|
240
|
-
it('deve consolidar tempo estimado restante', () => {
|
|
241
|
-
const tempo = calcularTempoEstimado(onboarding);
|
|
242
|
-
expect(tempo).toBeGreaterThanOrEqual(0);
|
|
243
|
-
});
|
|
244
|
-
it('deve consolidar insights e ações', () => {
|
|
245
|
-
const insights = gerarInsights(onboarding);
|
|
246
|
-
const acoes = recomendarProximasAcoes(onboarding);
|
|
247
|
-
expect(insights.length).toBeGreaterThan(0);
|
|
248
|
-
expect(acoes.length).toBeGreaterThan(0);
|
|
249
|
-
});
|
|
250
|
-
});
|
|
251
|
-
});
|
|
252
|
-
//# sourceMappingURL=readiness-dashboard.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"readiness-dashboard.test.js","sourceRoot":"","sources":["../../src/tests/readiness-dashboard.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAE1D,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,EACb,uBAAuB,GACxB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,IAAI,UAA2B,CAAC;IAEhC,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,GAAG;YACX,SAAS,EAAE,kBAAkB;YAC7B,KAAK,EAAE,WAAW;YAClB,eAAe,EAAE,WAAW;YAC5B,eAAe,EAAE,oBAAoB,CAAC;gBACpC,IAAI,EAAE,UAAU;gBAChB,mBAAmB,EAAE,KAAK;gBAC1B,gBAAgB,EAAE,IAAI;gBACtB,eAAe,EAAE,IAAI;aACtB,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,WAAoB,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,kBAAkB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5K,kBAAkB,EAAE;gBAClB,YAAY,EAAE,YAAY;gBAC1B,QAAQ,EAAE,6BAA6B;gBACvC,YAAY,EAAE,0BAA0B;gBACxC,0BAA0B,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC;gBACpD,UAAU,EAAE,SAAS;gBACrB,WAAW,EAAE,CAAC,KAAK,CAAC;gBACpB,eAAe,EAAE,iBAAiB;aACnC;YACD,oBAAoB,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC9C,gBAAgB,EAAE,WAAW;YAC7B,kBAAkB,EAAE;gBAClB;oBACE,EAAE,EAAE,uBAAuB;oBAC3B,KAAK,EAAE,UAAU;oBACjB,WAAW,EAAE,QAAQ;oBACrB,MAAM,EAAE,YAAY;oBACpB,cAAc,EAAE,SAAS;oBACzB,MAAM,EAAE,WAAW;oBACnB,QAAQ,EAAE,2NAA2N;oBACrO,KAAK,EAAE,CAAC;iBACT;gBACD;oBACE,EAAE,EAAE,eAAe;oBACnB,KAAK,EAAE,UAAU;oBACjB,WAAW,EAAE,QAAQ;oBACrB,MAAM,EAAE,SAAS;oBACjB,cAAc,EAAE,UAAU;oBAC1B,MAAM,EAAE,WAAW;oBACnB,QAAQ,EAAE,oKAAoK;oBAC9K,KAAK,EAAE,CAAC;iBACT;gBACD;oBACE,EAAE,EAAE,qBAAqB;oBACzB,KAAK,EAAE,KAAK;oBACZ,WAAW,EAAE,QAAQ;oBACrB,MAAM,EAAE,WAAW;oBACnB,cAAc,EAAE,aAAa;oBAC7B,MAAM,EAAE,WAAW;oBACnB,QAAQ,EAAE,uLAAuL;oBACjM,KAAK,EAAE,CAAC;iBACT;gBACD;oBACE,EAAE,EAAE,kBAAkB;oBACtB,KAAK,EAAE,UAAU;oBACjB,WAAW,EAAE,QAAQ;oBACrB,MAAM,EAAE,WAAW;oBACnB,cAAc,EAAE,YAAY;oBAC5B,MAAM,EAAE,WAAW;oBACnB,QAAQ,EAAE,mKAAmK;oBAC7K,KAAK,EAAE,CAAC;iBACT;gBACD;oBACE,EAAE,EAAE,mBAAmB;oBACvB,KAAK,EAAE,QAAQ;oBACf,WAAW,EAAE,aAAa;oBAC1B,MAAM,EAAE,gBAAgB;oBACxB,cAAc,EAAE,kBAAkB;oBAClC,MAAM,EAAE,WAAW;oBACnB,QAAQ,EAAE,8KAA8K;oBACxL,KAAK,EAAE,CAAC;iBACT;aACF;YACD,qBAAqB,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC/C,SAAS,EAAE,OAAO;YAClB,QAAQ,EAAE,CAAC;YACX,IAAI,EAAE,UAAU;YAChB,iBAAiB,EAAE,CAAC;SACrB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,SAAS,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;YAEpD,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;YACnD,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,UAAU,CAAC,eAAe,GAAG,SAAS,CAAC;YAEvC,MAAM,SAAS,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;YAEpD,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,UAAU,CAAC,gBAAgB,GAAG,SAAS,CAAC;YAExC,MAAM,SAAS,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;YAEpD,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtC,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,UAAU,CAAC,kBAAkB,CAAC,YAAY,GAAG,EAAE,CAAC;YAEhD,MAAM,SAAS,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;YAEpD,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAC1D,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,UAAU,CAAC,eAAe,GAAG,aAAa,CAAC;YAE3C,MAAM,SAAS,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;YAEpD,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACnC,MAAM,SAAS,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;YAEpD,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACxD,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,UAAU,CAAC,eAAe,GAAG,aAAa,CAAC;YAC3C,UAAU,CAAC,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YAElG,MAAM,KAAK,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;YAEhD,MAAM,QAAQ,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,oBAAoB;YAClF,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,UAAU,CAAC,gBAAgB,GAAG,aAAa,CAAC;YAC5C,UAAU,CAAC,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YAExG,MAAM,KAAK,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;YAEhD,MAAM,QAAQ,GAAG,CAAC,UAAU,CAAC,kBAAkB,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;YACjE,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACnD,MAAM,KAAK,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;YAEhD,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,0BAA0B;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,UAAU,CAAC,eAAe,GAAG,aAAa,CAAC;YAC3C,UAAU,CAAC,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YAClG,UAAU,CAAC,gBAAgB,GAAG,aAAa,CAAC;YAC5C,UAAU,CAAC,kBAAkB,GAAG,UAAU,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YACxG,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC;YAEjC,MAAM,KAAK,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;YAChD,MAAM,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;YAChG,MAAM,eAAe,GAAG,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;YACnG,MAAM,cAAc,GAAG,eAAe,GAAG,CAAC,CAAC;YAC3C,MAAM,eAAe,GAAG,eAAe,GAAG,EAAE,CAAC;YAC7C,MAAM,cAAc,GAAG,CAAC,CAAC;YAEzB,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,GAAG,eAAe,GAAG,cAAc,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;YAE3C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;YAC7D,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;YAE3C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;YAC3D,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;YAE3C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC9D,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;YAE3C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;YACjC,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;YAE3C,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;YAC/D,UAAU,CAAC,eAAe,GAAG,aAAa,CAAC;YAC3C,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC;YAEjD,MAAM,KAAK,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;YAElD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;YACnE,UAAU,CAAC,gBAAgB,GAAG,aAAa,CAAC;YAC5C,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,SAAS,CAAC;YAEpD,MAAM,KAAK,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;YAElD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;YACnE,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC;YAEjC,MAAM,KAAK,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;YAElD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC9D,UAAU,CAAC,SAAS,GAAG,OAAO,CAAC;YAE/B,MAAM,KAAK,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;YAElD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,UAAU,CAAC,eAAe,GAAG,aAAa,CAAC;YAC3C,UAAU,CAAC,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YAClG,MAAM,KAAK,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;YAClD,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC;YAE7D,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAC5C,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,MAAM,KAAK,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;YAElD,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACrB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAChD,MAAM,WAAW,GAAG,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;YAC9F,MAAM,KAAK,GAAG,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC;YAChD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;YAE3D,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,MAAM,WAAW,GAAG,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;YACjG,MAAM,KAAK,GAAG,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC;YACnD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;YAE3D,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,SAAS,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;YAEpD,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,MAAM,KAAK,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;YAEhD,MAAM,CAAC,KAAK,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;YAC3C,MAAM,KAAK,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;YAElD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"skill-loader.test.d.ts","sourceRoot":"","sources":["../../src/tests/skill-loader.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -1,244 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Testes para SkillLoaderService
|
|
3
|
-
*/
|
|
4
|
-
import { describe, it, expect, beforeEach, vi } from 'vitest';
|
|
5
|
-
import { SkillLoaderService } from '../services/skill-loader.service.js';
|
|
6
|
-
import { invalidateCache } from '../services/skill-cache.service.js';
|
|
7
|
-
// Mock ContentResolverService
|
|
8
|
-
vi.mock('../services/content-resolver.service.js');
|
|
9
|
-
// Mock prompt-mapper
|
|
10
|
-
vi.mock('../utils/prompt-mapper.js', () => ({
|
|
11
|
-
getSkillParaFase: vi.fn((fase) => {
|
|
12
|
-
const map = {
|
|
13
|
-
'Produto': 'specialist-gestao-produto',
|
|
14
|
-
'Arquitetura': 'specialist-arquitetura-software',
|
|
15
|
-
'Desconhecida': '',
|
|
16
|
-
};
|
|
17
|
-
return map[fase] || null;
|
|
18
|
-
}),
|
|
19
|
-
FASE_SKILL_MAP: {
|
|
20
|
-
'Produto': 'specialist-gestao-produto',
|
|
21
|
-
'Arquitetura': 'specialist-arquitetura-software',
|
|
22
|
-
},
|
|
23
|
-
}));
|
|
24
|
-
// Mock specialist.service
|
|
25
|
-
vi.mock('../services/specialist.service.js', () => ({
|
|
26
|
-
getSpecialistPersona: vi.fn((fase) => {
|
|
27
|
-
if (fase === 'Produto') {
|
|
28
|
-
return {
|
|
29
|
-
name: 'Gestão de Produto',
|
|
30
|
-
tone: 'Estratégico',
|
|
31
|
-
expertise: ['product discovery', 'lean startup'],
|
|
32
|
-
instructions: 'Foque em entender o problema.',
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
if (fase === 'Arquitetura') {
|
|
36
|
-
return {
|
|
37
|
-
name: 'Arquitetura de Software',
|
|
38
|
-
tone: 'Técnico',
|
|
39
|
-
expertise: ['C4', 'ADR'],
|
|
40
|
-
instructions: 'Defina arquitetura alvo.',
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
return null;
|
|
44
|
-
}),
|
|
45
|
-
}));
|
|
46
|
-
const SAMPLE_SKILL_MD = `---
|
|
47
|
-
name: specialist-gestao-produto
|
|
48
|
-
description: PRD e gestão de produto
|
|
49
|
-
---
|
|
50
|
-
|
|
51
|
-
# Gestão de Produto · Skill do Especialista
|
|
52
|
-
|
|
53
|
-
## Missão
|
|
54
|
-
Definir produto com foco no usuário.
|
|
55
|
-
|
|
56
|
-
## Quando ativar
|
|
57
|
-
- Fase 1 do projeto
|
|
58
|
-
|
|
59
|
-
## Inputs obrigatórios
|
|
60
|
-
- Briefing do cliente
|
|
61
|
-
|
|
62
|
-
## Outputs gerados
|
|
63
|
-
- PRD completo
|
|
64
|
-
|
|
65
|
-
## Quality Gate
|
|
66
|
-
- PRD com escopo definido
|
|
67
|
-
- Personas mapeadas
|
|
68
|
-
|
|
69
|
-
## 🚀 Processo Otimizado
|
|
70
|
-
|
|
71
|
-
### 1. Discovery
|
|
72
|
-
Faça perguntas focadas.
|
|
73
|
-
|
|
74
|
-
### 2. Geração
|
|
75
|
-
Use template estruturado.
|
|
76
|
-
|
|
77
|
-
## 📋 Recursos Disponíveis
|
|
78
|
-
|
|
79
|
-
### Templates
|
|
80
|
-
- resources/templates/prd.md
|
|
81
|
-
|
|
82
|
-
## 🔄 Context Flow
|
|
83
|
-
Prepare transição para requisitos.
|
|
84
|
-
|
|
85
|
-
## MCP Integration
|
|
86
|
-
Funções descritivas.
|
|
87
|
-
|
|
88
|
-
## 📖 Documentação Completa
|
|
89
|
-
Detalhes em README.md.
|
|
90
|
-
`;
|
|
91
|
-
const SAMPLE_TEMPLATE = `# Template PRD
|
|
92
|
-
|
|
93
|
-
## 1. Visão Geral
|
|
94
|
-
[Descreva o produto]
|
|
95
|
-
|
|
96
|
-
## 2. Problema
|
|
97
|
-
[Qual problema resolve]
|
|
98
|
-
|
|
99
|
-
## 3. Personas
|
|
100
|
-
[Defina personas]
|
|
101
|
-
|
|
102
|
-
## 4. Escopo
|
|
103
|
-
[Defina escopo MVP]
|
|
104
|
-
`;
|
|
105
|
-
const SAMPLE_CHECKLIST = `# Checklist de Validação
|
|
106
|
-
|
|
107
|
-
- [ ] PRD tem visão geral
|
|
108
|
-
- [ ] Problema definido
|
|
109
|
-
- [ ] Pelo menos 2 personas
|
|
110
|
-
- [ ] Escopo MVP claro
|
|
111
|
-
`;
|
|
112
|
-
describe('SkillLoaderService', () => {
|
|
113
|
-
let service;
|
|
114
|
-
let mockResolver;
|
|
115
|
-
beforeEach(() => {
|
|
116
|
-
vi.clearAllMocks();
|
|
117
|
-
invalidateCache();
|
|
118
|
-
mockResolver = {
|
|
119
|
-
readSkillFile: vi.fn(),
|
|
120
|
-
readFirstTemplate: vi.fn(),
|
|
121
|
-
readFirstChecklist: vi.fn(),
|
|
122
|
-
listSkillResources: vi.fn(),
|
|
123
|
-
getSkillDir: vi.fn(),
|
|
124
|
-
};
|
|
125
|
-
service = new SkillLoaderService(mockResolver);
|
|
126
|
-
});
|
|
127
|
-
describe('loadForPhase', () => {
|
|
128
|
-
it('deve retornar null para fase sem skill mapeada', async () => {
|
|
129
|
-
const result = await service.loadForPhase('FaseInexistente', 'balanced');
|
|
130
|
-
expect(result).toBeNull();
|
|
131
|
-
});
|
|
132
|
-
it('deve carregar pacote completo para fase com skill', async () => {
|
|
133
|
-
mockResolver.readSkillFile.mockResolvedValue(SAMPLE_SKILL_MD);
|
|
134
|
-
mockResolver.readFirstTemplate.mockResolvedValue(SAMPLE_TEMPLATE);
|
|
135
|
-
mockResolver.readFirstChecklist.mockResolvedValue(SAMPLE_CHECKLIST);
|
|
136
|
-
mockResolver.listSkillResources.mockResolvedValue(['prd.md']);
|
|
137
|
-
const result = await service.loadForPhase('Produto', 'balanced');
|
|
138
|
-
expect(result).not.toBeNull();
|
|
139
|
-
expect(result.skillName).toBe('specialist-gestao-produto');
|
|
140
|
-
expect(result.specialist).not.toBeNull();
|
|
141
|
-
expect(result.specialist.name).toBe('Gestão de Produto');
|
|
142
|
-
expect(result.skillContent.length).toBeGreaterThan(0);
|
|
143
|
-
expect(result.templateContent.length).toBeGreaterThan(0);
|
|
144
|
-
expect(result.checklistContent.length).toBeGreaterThan(0);
|
|
145
|
-
expect(result.tokenEstimate).toBeGreaterThan(0);
|
|
146
|
-
});
|
|
147
|
-
it('deve respeitar budget em modo economy (skill menor)', async () => {
|
|
148
|
-
mockResolver.readSkillFile.mockResolvedValue(SAMPLE_SKILL_MD);
|
|
149
|
-
mockResolver.readFirstTemplate.mockResolvedValue(SAMPLE_TEMPLATE);
|
|
150
|
-
mockResolver.readFirstChecklist.mockResolvedValue(SAMPLE_CHECKLIST);
|
|
151
|
-
mockResolver.listSkillResources.mockResolvedValue([]);
|
|
152
|
-
const economy = await service.loadForPhase('Produto', 'economy');
|
|
153
|
-
const quality = await service.loadForPhase('Produto', 'quality');
|
|
154
|
-
expect(economy).not.toBeNull();
|
|
155
|
-
expect(quality).not.toBeNull();
|
|
156
|
-
// Economy deve ter menos tokens que quality
|
|
157
|
-
expect(economy.tokenEstimate).toBeLessThanOrEqual(quality.tokenEstimate);
|
|
158
|
-
});
|
|
159
|
-
it('deve incluir seções essenciais em economy mode', async () => {
|
|
160
|
-
mockResolver.readSkillFile.mockResolvedValue(SAMPLE_SKILL_MD);
|
|
161
|
-
mockResolver.readFirstTemplate.mockResolvedValue(null);
|
|
162
|
-
mockResolver.readFirstChecklist.mockResolvedValue(null);
|
|
163
|
-
mockResolver.listSkillResources.mockResolvedValue([]);
|
|
164
|
-
const result = await service.loadForPhase('Produto', 'economy');
|
|
165
|
-
expect(result).not.toBeNull();
|
|
166
|
-
// Seções essenciais devem estar presentes
|
|
167
|
-
expect(result.skillContent).toContain('Missão');
|
|
168
|
-
expect(result.skillContent).toContain('Quality Gate');
|
|
169
|
-
});
|
|
170
|
-
it('deve lidar com skill sem template e checklist', async () => {
|
|
171
|
-
mockResolver.readSkillFile.mockResolvedValue(SAMPLE_SKILL_MD);
|
|
172
|
-
mockResolver.readFirstTemplate.mockResolvedValue(null);
|
|
173
|
-
mockResolver.readFirstChecklist.mockResolvedValue(null);
|
|
174
|
-
mockResolver.listSkillResources.mockResolvedValue([]);
|
|
175
|
-
const result = await service.loadForPhase('Produto', 'balanced');
|
|
176
|
-
expect(result).not.toBeNull();
|
|
177
|
-
expect(result.templateContent).toBe('');
|
|
178
|
-
expect(result.checklistContent).toBe('');
|
|
179
|
-
});
|
|
180
|
-
});
|
|
181
|
-
describe('loadChecklist', () => {
|
|
182
|
-
it('deve carregar checklist para fase válida', async () => {
|
|
183
|
-
mockResolver.readFirstChecklist.mockResolvedValue(SAMPLE_CHECKLIST);
|
|
184
|
-
const result = await service.loadChecklist('Produto');
|
|
185
|
-
expect(result).toBe(SAMPLE_CHECKLIST);
|
|
186
|
-
});
|
|
187
|
-
it('deve retornar null para fase sem skill', async () => {
|
|
188
|
-
const result = await service.loadChecklist('FaseInexistente');
|
|
189
|
-
expect(result).toBeNull();
|
|
190
|
-
});
|
|
191
|
-
});
|
|
192
|
-
describe('loadTemplate', () => {
|
|
193
|
-
it('deve carregar template para fase válida', async () => {
|
|
194
|
-
mockResolver.readFirstTemplate.mockResolvedValue(SAMPLE_TEMPLATE);
|
|
195
|
-
const result = await service.loadTemplate('Produto');
|
|
196
|
-
expect(result).toBe(SAMPLE_TEMPLATE);
|
|
197
|
-
});
|
|
198
|
-
});
|
|
199
|
-
describe('formatAsMarkdown', () => {
|
|
200
|
-
it('deve formatar pacote como markdown legível', () => {
|
|
201
|
-
const pkg = {
|
|
202
|
-
skillName: 'specialist-gestao-produto',
|
|
203
|
-
specialist: {
|
|
204
|
-
name: 'Gestão de Produto',
|
|
205
|
-
tone: 'Estratégico',
|
|
206
|
-
expertise: ['product discovery'],
|
|
207
|
-
instructions: 'Foque no problema.',
|
|
208
|
-
},
|
|
209
|
-
skillContent: '## Missão\nDefinir produto.',
|
|
210
|
-
templateContent: '# Template PRD\n## Visão',
|
|
211
|
-
checklistContent: '- [ ] PRD completo',
|
|
212
|
-
referenceLinks: ['maestro://skills/specialist-gestao-produto/templates/prd.md'],
|
|
213
|
-
tokenEstimate: 500,
|
|
214
|
-
mode: 'summary',
|
|
215
|
-
};
|
|
216
|
-
const md = service.formatAsMarkdown(pkg);
|
|
217
|
-
expect(md).toContain('Gestão de Produto');
|
|
218
|
-
expect(md).toContain('Estratégico');
|
|
219
|
-
expect(md).toContain('Instruções do Especialista');
|
|
220
|
-
expect(md).toContain('Template do Entregável');
|
|
221
|
-
expect(md).toContain('Checklist de Validação');
|
|
222
|
-
expect(md).toContain('Recursos Adicionais');
|
|
223
|
-
expect(md).toContain('500 tokens');
|
|
224
|
-
});
|
|
225
|
-
it('deve omitir seções vazias', () => {
|
|
226
|
-
const pkg = {
|
|
227
|
-
skillName: 'test',
|
|
228
|
-
specialist: null,
|
|
229
|
-
skillContent: '',
|
|
230
|
-
templateContent: '',
|
|
231
|
-
checklistContent: '- [ ] Item',
|
|
232
|
-
referenceLinks: [],
|
|
233
|
-
tokenEstimate: 10,
|
|
234
|
-
mode: 'skeleton',
|
|
235
|
-
};
|
|
236
|
-
const md = service.formatAsMarkdown(pkg);
|
|
237
|
-
expect(md).not.toContain('Instruções do Especialista');
|
|
238
|
-
expect(md).not.toContain('Template do Entregável');
|
|
239
|
-
expect(md).toContain('Checklist de Validação');
|
|
240
|
-
expect(md).not.toContain('Recursos Adicionais');
|
|
241
|
-
});
|
|
242
|
-
});
|
|
243
|
-
});
|
|
244
|
-
//# sourceMappingURL=skill-loader.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"skill-loader.test.js","sourceRoot":"","sources":["../../src/tests/skill-loader.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Testes unitários para módulos integrados na v5.2
|
|
3
|
-
*
|
|
4
|
-
* Cobre:
|
|
5
|
-
* - skill-cache.service (A.3)
|
|
6
|
-
* - structured-content.service (A.8)
|
|
7
|
-
* - annotations-fallback.service (A.7)
|
|
8
|
-
* - response-formatter (A.6)
|
|
9
|
-
* - client-capabilities.service (A.5)
|
|
10
|
-
* - elicitation-fallback.service (A.7)
|
|
11
|
-
* - sampling-fallback.service (A.7)
|
|
12
|
-
*/
|
|
13
|
-
export {};
|
|
14
|
-
//# sourceMappingURL=v52-integration.test.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"v52-integration.test.d.ts","sourceRoot":"","sources":["../../src/tests/v52-integration.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG"}
|