67dc554810
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
29 lines
1.3 KiB
TypeScript
29 lines
1.3 KiB
TypeScript
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);
|
|
}
|
|
});
|
|
});
|