diff --git a/.runner.pid b/.runner.pid index df6825f..9e873f2 100644 --- a/.runner.pid +++ b/.runner.pid @@ -1 +1 @@ -84350 +68063 diff --git a/stories/ContentThumbnailTemplate.stories.js b/stories/ContentThumbnailTemplate.stories.js index 130d9e6..be1b21e 100644 --- a/stories/ContentThumbnailTemplate.stories.js +++ b/stories/ContentThumbnailTemplate.stories.js @@ -11,6 +11,8 @@ const mockPost = { }, }; +const mockSlugOrder = ["sample-article", "another-article", "third-article"]; + export default { title: "Components/ContentThumbnailTemplate", component: ContentThumbnailTemplate, @@ -28,9 +30,8 @@ export default { description: "Blog post object with frontmatter", }, slugOrder: { - control: "number", - description: - "Order index for cycling through different background and icon styles", + control: "object", + description: "Array of slugs for consistent background cycling", }, variant: { control: { type: "select" }, @@ -43,7 +44,7 @@ export default { export const Vertical = { args: { post: mockPost, - slugOrder: 0, + slugOrder: mockSlugOrder, variant: "vertical", }, }; @@ -51,23 +52,23 @@ export const Vertical = { export const Horizontal = { args: { post: mockPost, - slugOrder: 0, + slugOrder: mockSlugOrder, variant: "horizontal", }, }; export const SecondStyle = { args: { - post: mockPost, - slugOrder: 1, + post: { ...mockPost, slug: "another-article" }, + slugOrder: mockSlugOrder, variant: "vertical", }, }; export const ThirdStyle = { args: { - post: mockPost, - slugOrder: 2, + post: { ...mockPost, slug: "third-article" }, + slugOrder: mockSlugOrder, variant: "vertical", }, }; @@ -83,7 +84,7 @@ export const LongContent = { "This is a longer description that tests how the component handles extended text content and ensures proper wrapping and display within the thumbnail.", }, }, - slugOrder: 0, + slugOrder: mockSlugOrder, variant: "vertical", }, }; diff --git a/tests/e2e/visual-regression.spec.ts b/tests/e2e/visual-regression.spec.ts index 7bab99e..a880a7b 100644 --- a/tests/e2e/visual-regression.spec.ts +++ b/tests/e2e/visual-regression.spec.ts @@ -380,6 +380,15 @@ test.describe("Visual Regression Tests", () => { // Navigate to blog listing page await page.goto("/blog"); await page.waitForLoadState("networkidle"); + + // Wait for blog content to be fully rendered + await page.waitForSelector( + ".grid.grid-cols-1.md\\:grid-cols-2.lg\\:grid-cols-3", + { timeout: 10000 }, + ); + + // Additional wait for any dynamic content to render + await page.waitForTimeout(1000); await settle(page); // Take full page screenshot of blog listing @@ -393,6 +402,12 @@ test.describe("Visual Regression Tests", () => { // Navigate to a specific blog post await page.goto("/blog/resolving-active-conflicts"); await page.waitForLoadState("networkidle"); + + // Wait for blog post content to be fully rendered + await page.waitForSelector("main", { timeout: 10000 }); + + // Additional wait for any dynamic content to render + await page.waitForTimeout(1000); await settle(page); // Take full page screenshot of blog post diff --git a/tests/e2e/visual-regression.spec.ts-snapshots/blog-listing-chromium.png b/tests/e2e/visual-regression.spec.ts-snapshots/blog-listing-chromium.png index 9390b7f..df64d86 100644 Binary files a/tests/e2e/visual-regression.spec.ts-snapshots/blog-listing-chromium.png and b/tests/e2e/visual-regression.spec.ts-snapshots/blog-listing-chromium.png differ diff --git a/tests/e2e/visual-regression.spec.ts-snapshots/blog-listing-firefox.png b/tests/e2e/visual-regression.spec.ts-snapshots/blog-listing-firefox.png index b657375..566c762 100644 Binary files a/tests/e2e/visual-regression.spec.ts-snapshots/blog-listing-firefox.png and b/tests/e2e/visual-regression.spec.ts-snapshots/blog-listing-firefox.png differ diff --git a/tests/e2e/visual-regression.spec.ts-snapshots/blog-listing-mobile.png b/tests/e2e/visual-regression.spec.ts-snapshots/blog-listing-mobile.png index 84a3a88..aec2e37 100644 Binary files a/tests/e2e/visual-regression.spec.ts-snapshots/blog-listing-mobile.png and b/tests/e2e/visual-regression.spec.ts-snapshots/blog-listing-mobile.png differ diff --git a/tests/e2e/visual-regression.spec.ts-snapshots/blog-listing-webkit.png b/tests/e2e/visual-regression.spec.ts-snapshots/blog-listing-webkit.png index 0bc8c9b..894a6af 100644 Binary files a/tests/e2e/visual-regression.spec.ts-snapshots/blog-listing-webkit.png and b/tests/e2e/visual-regression.spec.ts-snapshots/blog-listing-webkit.png differ diff --git a/tests/integration/layout.integration.test.jsx b/tests/integration/layout.integration.test.jsx index 332511f..58864b2 100644 --- a/tests/integration/layout.integration.test.jsx +++ b/tests/integration/layout.integration.test.jsx @@ -77,7 +77,7 @@ describe("Layout Integration", () => { const aboutLink = aboutLinks[0]; expect(useCasesLink).toHaveAttribute("href", "#"); - expect(learnLink).toHaveAttribute("href", "#"); + expect(learnLink).toHaveAttribute("href", "/learn"); expect(aboutLink).toHaveAttribute("href", "#"); // Test button interactions diff --git a/tests/unit/Header.test.jsx b/tests/unit/Header.test.jsx index e5620ae..bdf59ec 100644 --- a/tests/unit/Header.test.jsx +++ b/tests/unit/Header.test.jsx @@ -80,7 +80,7 @@ describe("Header", () => { extraPadding: true, }); expect(navigationItems[1]).toEqual({ - href: "#", + href: "/learn", text: "Learn", }); expect(navigationItems[2]).toEqual({