feat: surface availability and operations evidence

This commit is contained in:
2026-09-04 20:34:19 +03:00
parent 3509f5fbdf
commit 55158d490e
13 changed files with 147 additions and 22 deletions

View File

@@ -53,15 +53,23 @@ describe('semantic portfolio document', () => {
const document = await renderedDocument();
const hero = document.querySelector('.hero-journey__content')!;
expect([...hero.children].map((element) => element.textContent?.trim())).toEqual([
expect([...hero.children].flatMap((element) =>
element.classList.contains('hero-journey__actions')
? [...element.children].map((action) => action.textContent?.trim())
: [element.textContent?.trim()],
)).toEqual([
'Luca Pîslaru',
'System Administrator & Full-Stack Developer',
'Building and operating reliable systems and software.',
validInputs.content.identity.valueProposition,
validInputs.content.identity.availability,
'Email Luca',
'Explore work',
]);
expect(hero.querySelector('a')?.getAttribute('href')).toBe('#selected-builds');
expect(document.querySelector('a[href="mailto:hello@example.test"]')?.textContent).toBe('Start a conversation');
expect(document.body.textContent).toContain("Thanks for making the trip. The road's open if you'd like to build something together.");
expect(hero.querySelector('a[href="mailto:hello@example.test"]')?.textContent).toBe('Email Luca');
expect(document.querySelector('[data-featured-operation]')?.textContent).toContain(
validInputs.content.infrastructure.featuredOperation.title,
);
expect(document.querySelector('#contact')?.textContent).toContain('System Administrator');
expect(document.body.textContent).not.toMatch(/[–—]/u);
});
@@ -87,7 +95,7 @@ describe('semantic portfolio document', () => {
'#start', '#profile', '#experience', '#infrastructure', '#selected-builds', '#additional-work', '#toolkit', '#contact',
]);
const email = document.querySelector('a[href="mailto:hello@example.test"]');
expect(email?.textContent).toBe('Start a conversation');
expect(email?.textContent).toBe('Email Luca');
expect(document.body.textContent).toContain('For a current CV or role-specific information, contact me directly.');
});