mirror of
https://github.com/langgenius/dify.git
synced 2026-11-11 22:02:23 +08:00
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>
28 lines
911 B
TypeScript
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,
|
|
}
|
|
}
|