From 788faf549bb974aa827627cea2699af483a399e0 Mon Sep 17 00:00:00 2001 From: Siddharth Kshetrapal Date: Tue, 28 Apr 2026 21:18:21 +0200 Subject: [PATCH] Use local avatar image for VRT instead of external URL --- e2e/test-helpers/storybook.ts | 5 ++++- packages/react/.storybook/main.ts | 2 ++ packages/react/static/mock-avatar.png | Bin 0 -> 11013 bytes 3 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 packages/react/static/mock-avatar.png diff --git a/e2e/test-helpers/storybook.ts b/e2e/test-helpers/storybook.ts index fb869eaa78f..4ad1e629816 100644 --- a/e2e/test-helpers/storybook.ts +++ b/e2e/test-helpers/storybook.ts @@ -1,9 +1,12 @@ import fs from 'node:fs' +import path from 'node:path' import {parseSync, traverse, types as t} from '@babel/core' import type {Page} from '@playwright/test' import {kebabCase} from 'change-case' import {waitForImages} from './waitForImages' +const AVATAR_IMAGE_PATH = path.join(__dirname, '../../packages/react/static/mock-avatar.png') + type Value = | string | boolean @@ -61,7 +64,7 @@ async function visit(page: Page, options: Options) { /** Mock live avatar urls to make them stable for visual diffing (vrt) */ await page.route('https://github.com/*.png', async route => { - await route.continue({url: 'https://github.com/primer.png'}) + await route.fulfill({path: AVATAR_IMAGE_PATH}) }) await page.goto(url.toString()) diff --git a/packages/react/.storybook/main.ts b/packages/react/.storybook/main.ts index 50a3e3788e8..e17120beed1 100644 --- a/packages/react/.storybook/main.ts +++ b/packages/react/.storybook/main.ts @@ -17,6 +17,8 @@ const config: StorybookConfig = { : // Don't include dev stories in production ['../src/**/*.mdx', '../src/**/!(*.dev).stories.@(js|jsx|ts|tsx)'], + staticDirs: ['../static'], + addons: [ getAbsolutePath('@storybook/addon-a11y'), getAbsolutePath('@storybook/addon-links'), diff --git a/packages/react/static/mock-avatar.png b/packages/react/static/mock-avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..943f77c6749fcdd2eb139bd8f0c2d32a75fa2e75 GIT binary patch literal 11013 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 z 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 WrB@DP9T;yVQIc1agUh`A@V@{QI)WGg literal 0 HcmV?d00001