Files
dify/web/test/query-state-testing.tsx
T
fd2db63184 feat: KnowledgeFS and New Knowledge (#44165)
Co-authored-by: Jyong <76649700+JohnJyong@users.noreply.github.com>
Co-authored-by: hjlarry <hjlarry@163.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: zhaohao1004 <zhaohao1004@gmail.com>
Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
Co-authored-by: FFXN <lizy@dify.ai>
2026-10-23 03:34:59 +00:00

28 lines
911 B
TypeScript

import type { UrlUpdateEvent } from 'nuqs/adapters/testing'
import type { ComponentProps, ReactNode } from 'react'
import type { Mock } from 'vite-plus/test'
import { vi } from 'vite-plus/test'
import { QueryTestingAdapter } from './query-state-testing-adapter'
type QueryOnUrlUpdate = (event: UrlUpdateEvent) => void
type QueryTestOptions = {
searchParams?: ComponentProps<typeof QueryTestingAdapter>['searchParams']
onUrlUpdate?: Mock<QueryOnUrlUpdate>
}
export const createQueryTestWrapper = (options: QueryTestOptions = {}) => {
const { searchParams = '', onUrlUpdate } = options
const urlUpdateSpy = onUrlUpdate ?? vi.fn<QueryOnUrlUpdate>()
const wrapper = ({ children }: { children: ReactNode }) => (
<QueryTestingAdapter searchParams={searchParams} onUrlUpdate={urlUpdateSpy}>
{children}
</QueryTestingAdapter>
)
return {
wrapper,
onUrlUpdate: urlUpdateSpy,
}
}