fix: restore content compatibility checks

This commit is contained in:
2026-09-04 20:49:55 +03:00
parent 55158d490e
commit 7d9e3c2eac
13 changed files with 118 additions and 38 deletions

View File

@@ -67,8 +67,9 @@ describe('raw prerendered document', () => {
expect(document.body.textContent).toContain('Secure self-hosted platform and lifecycle');
expect(document.body.textContent).toContain('Private self-hosted medication tracker');
expect(document.body.textContent).toContain('Linux');
expect(document.querySelector('a[href="mailto:luca.pislaru@gmail.com"]')?.textContent)
.toBe('Start a conversation');
const mailLinks = document.querySelectorAll('a[href="mailto:luca.pislaru@gmail.com"]');
expect(mailLinks).toHaveLength(2);
expect([...mailLinks].map((link) => link.textContent)).toEqual(['Email Luca', 'Email Luca']);
expect(document.querySelector('nav a[href="#infrastructure"]')).not.toBeNull();
expect(snapshot).not.toBeNull();
expect(moduleScript).not.toBeNull();

View File

@@ -118,6 +118,26 @@ describe('artifact verification', () => {
await expect(verifyArtifactDirectory(directory, inputs, contract)).resolves.toBeUndefined();
});
it.each([
{
name: 'a missing hero mailto link',
mutate: (html: string) => html.replace('href="mailto:luca.pislaru@gmail.com">Email Luca</a>', 'href="#selected-builds">Email Luca</a>'),
},
{
name: 'a duplicate mailto link beyond the hero and contact actions',
mutate: (html: string) => html.replace('</main>', '<a href="mailto:luca.pislaru@gmail.com">Email Luca</a></main>'),
},
{
name: 'a mailto link with an address that differs from public content',
mutate: (html: string) => html.replace('href="mailto:luca.pislaru@gmail.com">Email Luca</a>', 'href="mailto:wrong@example.test">Email Luca</a>'),
},
])('rejects $name', async ({ mutate }) => {
const { directory, html, inputs, contract } = await writeValidArtifacts();
await writeFile(join(directory, 'index.html'), mutate(html));
await expect(verifyArtifactDirectory(directory, inputs, contract)).rejects.toThrow(/mailto/i);
});
it.each([
{
name: 'an omitted adaptive soundtrack file',