docs: cierre formal de Sprint 1.5
- OBSERVATIONS.md reseteado para Sprint 2 - STRATEGIC_DIRECTION.md con reflexiones del sprint - TECH_DEBT.md curado: items resueltos archivados - methodology/CASE_STUDIES/inq-roi-sprint-1-5.md generado Sprint 1.5 cerrado: - 11 etapas + 1 fix pre-Etapa 11 - 526 unit tests + 38 E2E al cierre - Producto con identidad InQ aplicada en web + 3 PDFs - Metodología documentada con casos reales (2 de mala clasificación de iniciativa, originaron AP.8 + refinamiento C.6) - Material para transmisión al equipo de 5 técnicos
This commit is contained in:
@@ -114,7 +114,7 @@ function validatePdfText(text: string, filename: string) {
|
||||
|
||||
// ─── Tests ────────────────────────────────────────────────────────────────────
|
||||
|
||||
test('etapa-4-actual.pdf — 3 páginas, marca InQ, sin términos prohibidos', async ({ page }) => {
|
||||
test('etapa-4-actual.pdf — 4 páginas, marca InQ, sin términos prohibidos', async ({ page }) => {
|
||||
await setupAndSimulate(page)
|
||||
|
||||
const outPath = resolve(OUT_DIR, 'etapa-4-actual.pdf')
|
||||
@@ -125,17 +125,17 @@ test('etapa-4-actual.pdf — 3 páginas, marca InQ, sin términos prohibidos', a
|
||||
const buffer = readFileSync(outPath)
|
||||
const sizeKB = buffer.length / 1024
|
||||
console.log(`Tamaño: ${sizeKB.toFixed(1)} KB`)
|
||||
expect(sizeKB, 'Tamaño total > 15 KB por página').toBeGreaterThan(15 * 3)
|
||||
expect(sizeKB, 'Tamaño total < 80 KB por página (3 págs)').toBeLessThan(80 * 3)
|
||||
expect(sizeKB, 'Tamaño total > 15 KB por página').toBeGreaterThan(15 * 4)
|
||||
expect(sizeKB, 'Tamaño total < 80 KB por página (4 págs)').toBeLessThan(80 * 4)
|
||||
|
||||
const { numpages, text } = await parsePdf(buffer)
|
||||
console.log(`Páginas: ${numpages}`)
|
||||
console.log(`Primeros 300 chars: ${text.slice(0, 300).replace(/\n/g, ' ')}`)
|
||||
expect(numpages).toBe(3)
|
||||
expect(numpages).toBe(4)
|
||||
validatePdfText(text, 'etapa-4-actual.pdf')
|
||||
})
|
||||
|
||||
test('etapa-4-automatizado.pdf — 3 páginas, marca InQ, sin términos prohibidos', async ({ page }) => {
|
||||
test('etapa-4-automatizado.pdf — 4 páginas, marca InQ, sin términos prohibidos', async ({ page }) => {
|
||||
await setupAndSimulate(page)
|
||||
|
||||
const outPath = resolve(OUT_DIR, 'etapa-4-automatizado.pdf')
|
||||
@@ -145,16 +145,16 @@ test('etapa-4-automatizado.pdf — 3 páginas, marca InQ, sin términos prohibid
|
||||
const buffer = readFileSync(outPath)
|
||||
const sizeKB = buffer.length / 1024
|
||||
console.log(`etapa-4-automatizado.pdf: ${sizeKB.toFixed(1)} KB`)
|
||||
expect(sizeKB).toBeGreaterThan(15 * 3)
|
||||
expect(sizeKB).toBeLessThan(80 * 3)
|
||||
expect(sizeKB).toBeGreaterThan(15 * 4)
|
||||
expect(sizeKB).toBeLessThan(80 * 4)
|
||||
|
||||
const { numpages, text } = await parsePdf(buffer)
|
||||
console.log(`Páginas: ${numpages}`)
|
||||
expect(numpages).toBe(3)
|
||||
expect(numpages).toBe(4)
|
||||
validatePdfText(text, 'etapa-4-automatizado.pdf')
|
||||
})
|
||||
|
||||
test('etapa-4-roi.pdf — 4 páginas, marca InQ, keywords ROI, sin términos prohibidos', async ({ page }) => {
|
||||
test('etapa-4-roi.pdf — 5 páginas, marca InQ, keywords ROI, sin términos prohibidos', async ({ page }) => {
|
||||
await setupAndSimulate(page)
|
||||
|
||||
const outPath = resolve(OUT_DIR, 'etapa-4-roi.pdf')
|
||||
@@ -164,14 +164,14 @@ test('etapa-4-roi.pdf — 4 páginas, marca InQ, keywords ROI, sin términos pro
|
||||
const buffer = readFileSync(outPath)
|
||||
const sizeKB = buffer.length / 1024
|
||||
console.log(`etapa-4-roi.pdf: ${sizeKB.toFixed(1)} KB`)
|
||||
// ROI PDF no tiene imagen BPMN embebida → tamaño por página es menor (~8-12 KB texto puro)
|
||||
expect(sizeKB, 'ROI PDF debe tener contenido mínimo (4 páginas texto)').toBeGreaterThan(20)
|
||||
expect(sizeKB, 'ROI PDF no debe ser irrazonablemente grande').toBeLessThan(300)
|
||||
// ROI PDF incluye imagen de gradiente en página 1 → tamaño mayor (~250 KB)
|
||||
expect(sizeKB, 'ROI PDF debe tener contenido mínimo (5 páginas)').toBeGreaterThan(20)
|
||||
expect(sizeKB, 'ROI PDF no debe ser irrazonablemente grande').toBeLessThan(400)
|
||||
|
||||
const { numpages, text } = await parsePdf(buffer)
|
||||
console.log(`Páginas: ${numpages}`)
|
||||
console.log(`Primeros 400 chars: ${text.slice(0, 400).replace(/\n/g, ' ')}`)
|
||||
expect(numpages).toBe(4)
|
||||
expect(numpages).toBe(5)
|
||||
validatePdfText(text, 'etapa-4-roi.pdf')
|
||||
|
||||
// Keywords específicos del PDF de ROI
|
||||
|
||||
Reference in New Issue
Block a user