mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-11-11 12:07:52 +01:00
The directory has existed on disk with 58 untracked files, four of them over the 250-line cap. An untracked file is invisible to every pre-commit hook, so those violations could not be fixed or gated while it stayed that way -- and its CI workflow was untracked too, so nothing ran against it. Landed with its already-written evidence artifact and a contract, since this crosses the 4-file threshold. Verified before staging: 58 plain text source/config files, no binaries, no node_modules, no build output. npm run check passes -- typecheck, eslint --max-warnings 0, and 220 tests at 100% statements/branches/functions/lines. Splitting its four oversized files is deliberately a separate commit. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011w2Pj4Ek3ZNMQVYcFHgXDY
28 lines
786 B
TypeScript
28 lines
786 B
TypeScript
import { act } from '@testing-library/react'
|
|
import { afterEach, beforeEach, describe, expect, it } from 'vitest'
|
|
import { vi } from 'vitest'
|
|
|
|
beforeEach(() => {
|
|
vi.resetModules()
|
|
document.body.innerHTML = ''
|
|
})
|
|
|
|
afterEach(() => {
|
|
vi.unstubAllGlobals()
|
|
})
|
|
|
|
describe('main', () => {
|
|
it('refuses to boot without a #root element', async () => {
|
|
await expect(import('./main')).rejects.toThrow('root element not found')
|
|
})
|
|
|
|
it('mounts the app into #root', async () => {
|
|
document.body.innerHTML = '<div id="root"></div>'
|
|
await act(async () => {
|
|
await import('./main')
|
|
})
|
|
// Asserts the mount happened, not the whole app's copy — App has its own tests for that.
|
|
expect(document.querySelector('#root')?.textContent).toContain('Poker Stakes')
|
|
})
|
|
})
|