510d7ca4ec
Primo passo della separazione sito / piattaforme decisa da Adriano il 03/09: due applicazioni autosufficienti, senza workspace di root, cosi' che ognuna resti un progetto Astro completo ed estraibile. Qui non cambia niente del codice: solo la radice. I pattern del .gitignore che avevano una barra erano ancorati alla radice e dopo lo spostamento non avrebbero piu' coperto niente (data/*.db*, uploads/*): resi validi a qualunque profondita'. Suite: 45 file, 347 test verdi prima e dopo lo spostamento. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EndnceRA5WnA6rvA5iV9WL
32 lines
1.4 KiB
TypeScript
32 lines
1.4 KiB
TypeScript
import { existsSync, readFileSync } from 'node:fs';
|
|
import { describe, expect, it } from 'vitest';
|
|
|
|
// L'indirizzo della pagina evento e' stampato dentro il QR code delle locandine affisse
|
|
// in giro per Bologna: una volta in strada non si corregge piu'. Questi test tengono
|
|
// insieme le tre cose che devono restare d'accordo — la rotta servita dal sito, l'URL
|
|
// cucito nel QR e il file che la pagina offre in download.
|
|
const ROTTA = 'src/pages/promo-eventi/eventi.astro';
|
|
const URL_STAMPATO = 'https://insanitylab.it/promo-eventi/eventi';
|
|
|
|
describe('locandina In-Sanity Hour', () => {
|
|
it('la rotta che il QR indica esiste', () => {
|
|
expect(existsSync(ROTTA)).toBe(true);
|
|
});
|
|
|
|
it('il generatore della locandina punta a quella rotta', () => {
|
|
const script = readFileSync('scripts/locandina-evento.py', 'utf-8');
|
|
expect(script).toContain(`URL_EVENTO = '${URL_STAMPATO}'`);
|
|
// La rotta del file deve corrispondere alla coda dell'URL, altrimenti il QR
|
|
// porterebbe altrove: /promo-eventi/eventi <- src/pages/promo-eventi/eventi.astro
|
|
const daFile = '/' + ROTTA.replace('src/pages/', '').replace('.astro', '');
|
|
expect(URL_STAMPATO.endsWith(daFile)).toBe(true);
|
|
});
|
|
|
|
it('la locandina che la pagina offre in download esiste', () => {
|
|
const pagina = readFileSync(ROTTA, 'utf-8');
|
|
const link = pagina.match(/href="(\/locandina-[^"]+\.pdf)"/);
|
|
expect(link).not.toBeNull();
|
|
expect(existsSync(`public${link![1]}`)).toBe(true);
|
|
});
|
|
});
|