test(web): add frontend unit test baseline (#5451)

This commit is contained in:
fatedier
2026-07-28 01:27:35 +08:00
committed by GitHub
parent 2175557d48
commit 00c24e39bb
12 changed files with 1866 additions and 17 deletions

25
web/test/setup.test.ts Normal file
View File

@@ -0,0 +1,25 @@
import { describe, expect, it, vi } from 'vitest'
const capturedFetch = globalThis.fetch
describe('unit-test environment', () => {
it('blocks real network requests before test modules are evaluated', async () => {
await expect(capturedFetch('https://example.invalid/')).rejects.toThrow(
'Real network requests are disabled in unit tests',
)
})
it('allows a test to replace fetch explicitly', async () => {
const replacement = vi.fn(async () => new Response('ok'))
vi.stubGlobal('fetch', replacement)
await expect(fetch('/test-endpoint')).resolves.toBeInstanceOf(Response)
expect(replacement).toHaveBeenCalledWith('/test-endpoint')
})
it('restores the network guard after a test replacement', async () => {
await expect(fetch('/must-remain-isolated')).rejects.toThrow(
'Real network requests are disabled in unit tests',
)
})
})