import { describe, it, expect } from 'vitest'; import { linkConsulenza, CONSULENZA_URL_DEFAULT, PAGINE_CON_CONSULENZA } from '../src/data/consulenza'; import { contentSeed } from '../src/data/content-seed'; import { services } from '../src/data/services'; describe('consulenza conoscitiva', () => { it('accetta un link https, anche con spazi attorno', () => { expect(linkConsulenza('https://example.com/x')).toBe('https://example.com/x'); expect(linkConsulenza(' https://example.com/x ')).toBe('https://example.com/x'); }); it.each(['javascript:alert(1)', 'http://x.it', '', ' '])('scarta %j e usa il default', (v) => { expect(linkConsulenza(v)).toBe(CONSULENZA_URL_DEFAULT); }); it('il seed ha i tre tag', () => { const v = (tag: string) => contentSeed.find((e) => e.tag === tag)?.value; expect(v('service.consulenza-cta')).toBe('Prenota una consulenza conoscitiva gratuita'); expect(v('service.consulenza-note')).toBe('30-45 minuti con Nicola'); expect(v('global.consulenza.url')).toBe(CONSULENZA_URL_DEFAULT); }); it('le pagine con consulenza esistono', () => { expect(PAGINE_CON_CONSULENZA).toContain('reformer-class'); for (const slug of PAGINE_CON_CONSULENZA) { const s = services.find((x) => x.slug === slug); expect(s, slug).toBeDefined(); expect(s!.page).not.toBe(false); } }); });