feat: refine portfolio content, contact, and supporting media

This commit is contained in:
2026-09-05 20:08:57 +03:00
parent 15bcdf7cec
commit 103427f95b
53 changed files with 824 additions and 204 deletions

View File

@@ -163,21 +163,21 @@ describe("semantic section components", () => {
expect(tile.findAll('[aria-label="Linux"]').length).toBe(0);
});
it("renders a generic toolkit concept as visible text without inventing an icon", () => {
it("renders a toolkit concept with a decorative vector symbol", () => {
const wrapper = mount(ToolkitGrid, {
props: { groups: [{ title: "Systems", technologies: [{ name: "DNS" }] }] },
});
const tile = wrapper.get('[data-testid="toolkit-technology"]');
expect(tile.text()).toBe("DNS");
expect(tile.find("svg").exists()).toBe(false);
expect(tile.get("span").classes()).toContain("toolkit-item__label--text-only");
expect(tile.find("svg").exists()).toBe(true);
expect(tile.get("svg").attributes('aria-hidden')).toBe('true');
});
it("renders a visible mailto contact and safe verified social links", () => {
it("keeps email behind an interaction and renders safe social links", () => {
const contact: ContactContent = {
introduction: "Open to System Administrator and Full-Stack Developer opportunities.",
email: "hello@example.test",
email: { localPart: "hello", domain: "example.test" },
cvMessage:
"For a current CV or role-specific information, contact me directly.",
social: [{ service: "GitHub", url: "https://github.com/example" }],
@@ -188,9 +188,8 @@ describe("semantic section components", () => {
},
});
expect(wrapper.get('a[href="mailto:hello@example.test"]').text()).toBe(
"Email Luca",
);
expect(wrapper.find('a[href^="mailto:"]').exists()).toBe(false);
expect(wrapper.get('summary').text()).toBe('Email Me');
expect(wrapper.text()).toContain(contact.introduction);
const social = wrapper.get('a[href="https://github.com/example"]');
expect(social.text()).toBe("GitHub");