mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-05-13 17:26:22 +00:00
## Summary Stabilize the website nav GitHub star count in visual-test builds so snapshot comparisons do not drift as the live GitHub count changes. ## Changes - **What**: Added `WEBSITE_GITHUB_STARS_OVERRIDE` for build-time star-count overrides and set it to `111000` in the website E2E and screenshot-update workflows. - **Dependencies**: None. ## Review Focus Confirm the deterministic build-time override is preferable to screenshot masking, since Playwright masks draw a colored rectangle whose geometry can also drift when masked content changes size. ## Screenshots (if applicable) Not included; this keeps visual-test input data stable rather than changing the UI.
37 lines
1.2 KiB
TypeScript
37 lines
1.2 KiB
TypeScript
import { afterEach, describe, expect, it, vi } from 'vitest'
|
|
|
|
import { fetchGitHubStars, formatStarCount } from './github'
|
|
|
|
describe('fetchGitHubStars', () => {
|
|
const savedOverride = process.env.WEBSITE_GITHUB_STARS_OVERRIDE
|
|
|
|
afterEach(() => {
|
|
vi.restoreAllMocks()
|
|
if (savedOverride === undefined)
|
|
delete process.env.WEBSITE_GITHUB_STARS_OVERRIDE
|
|
else process.env.WEBSITE_GITHUB_STARS_OVERRIDE = savedOverride
|
|
})
|
|
|
|
it('uses the build-time override without calling GitHub', async () => {
|
|
process.env.WEBSITE_GITHUB_STARS_OVERRIDE = '110000'
|
|
const fetchMock = vi.spyOn(globalThis, 'fetch')
|
|
|
|
await expect(fetchGitHubStars('Comfy-Org', 'ComfyUI')).resolves.toBe(110000)
|
|
expect(fetchMock).not.toHaveBeenCalled()
|
|
})
|
|
|
|
it('fails fast when the build-time override is malformed', async () => {
|
|
process.env.WEBSITE_GITHUB_STARS_OVERRIDE = '110K'
|
|
|
|
await expect(fetchGitHubStars('Comfy-Org', 'ComfyUI')).rejects.toThrow(
|
|
'WEBSITE_GITHUB_STARS_OVERRIDE must be a non-negative integer'
|
|
)
|
|
})
|
|
})
|
|
|
|
describe('formatStarCount', () => {
|
|
it('formats the visual-test override to match committed snapshots', () => {
|
|
expect(formatStarCount(110000)).toBe('110K')
|
|
})
|
|
})
|