mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-03-09 15:10:17 +00:00
chore: migrate tests from tests-ui/ to colocate with source files (#7811)
## Summary Migrates all unit tests from `tests-ui/` to colocate with their source files in `src/`, improving discoverability and maintainability. ## Changes - **What**: Relocated all unit tests to be adjacent to the code they test, following the `<source>.test.ts` naming convention - **Config**: Updated `vitest.config.ts` to remove `tests-ui` include pattern and `@tests-ui` alias - **Docs**: Moved testing documentation to `docs/testing/` with updated paths and patterns ## Review Focus - Migration patterns documented in `temp/plans/migrate-tests-ui-to-src.md` - Tests use `@/` path aliases instead of relative imports - Shared fixtures placed in `__fixtures__/` directories ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-7811-chore-migrate-tests-from-tests-ui-to-colocate-with-source-files-2da6d73d36508147a4cce85365dee614) by [Unito](https://www.unito.io) --------- Co-authored-by: Amp <amp@ampcode.com> Co-authored-by: GitHub Action <action@github.com>
This commit is contained in:
73
src/platform/navigation/preservedQueryManager.test.ts
Normal file
73
src/platform/navigation/preservedQueryManager.test.ts
Normal file
@@ -0,0 +1,73 @@
|
||||
import { beforeEach, describe, expect, it } from 'vitest'
|
||||
|
||||
import {
|
||||
capturePreservedQuery,
|
||||
clearPreservedQuery,
|
||||
hydratePreservedQuery,
|
||||
mergePreservedQueryIntoQuery
|
||||
} from '@/platform/navigation/preservedQueryManager'
|
||||
import { PRESERVED_QUERY_NAMESPACES } from '@/platform/navigation/preservedQueryNamespaces'
|
||||
|
||||
const NAMESPACE = PRESERVED_QUERY_NAMESPACES.TEMPLATE
|
||||
|
||||
describe('preservedQueryManager', () => {
|
||||
beforeEach(() => {
|
||||
sessionStorage.clear()
|
||||
clearPreservedQuery(NAMESPACE)
|
||||
})
|
||||
|
||||
it('captures specified keys from the route query', () => {
|
||||
capturePreservedQuery(NAMESPACE, { template: 'flux', source: 'custom' }, [
|
||||
'template',
|
||||
'source'
|
||||
])
|
||||
|
||||
hydratePreservedQuery(NAMESPACE)
|
||||
const merged = mergePreservedQueryIntoQuery(NAMESPACE)
|
||||
|
||||
expect(merged).toEqual({ template: 'flux', source: 'custom' })
|
||||
expect(sessionStorage.getItem('Comfy.PreservedQuery.template')).toBeTruthy()
|
||||
})
|
||||
|
||||
it('hydrates cached payload from sessionStorage once', () => {
|
||||
sessionStorage.setItem(
|
||||
'Comfy.PreservedQuery.template',
|
||||
JSON.stringify({ template: 'flux', source: 'default' })
|
||||
)
|
||||
|
||||
hydratePreservedQuery(NAMESPACE)
|
||||
const merged = mergePreservedQueryIntoQuery(NAMESPACE)
|
||||
|
||||
expect(merged).toEqual({ template: 'flux', source: 'default' })
|
||||
})
|
||||
|
||||
it('merges stored payload only when query lacks the keys', () => {
|
||||
capturePreservedQuery(NAMESPACE, { template: 'flux' }, ['template'])
|
||||
|
||||
const merged = mergePreservedQueryIntoQuery(NAMESPACE, {
|
||||
foo: 'bar'
|
||||
})
|
||||
|
||||
expect(merged).toEqual({ foo: 'bar', template: 'flux' })
|
||||
})
|
||||
|
||||
it('returns undefined when merge does not change query', () => {
|
||||
capturePreservedQuery(NAMESPACE, { template: 'flux' }, ['template'])
|
||||
|
||||
const merged = mergePreservedQueryIntoQuery(NAMESPACE, {
|
||||
template: 'existing'
|
||||
})
|
||||
|
||||
expect(merged).toBeUndefined()
|
||||
})
|
||||
|
||||
it('clears cached payload', () => {
|
||||
capturePreservedQuery(NAMESPACE, { template: 'flux' }, ['template'])
|
||||
|
||||
clearPreservedQuery(NAMESPACE)
|
||||
|
||||
const merged = mergePreservedQueryIntoQuery(NAMESPACE)
|
||||
expect(merged).toBeUndefined()
|
||||
expect(sessionStorage.getItem('Comfy.PreservedQuery.template')).toBeNull()
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user