Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test(query-core): add test case for queryClient.isFetching #8720

Open
wants to merge 5 commits into
base: main
Choose a base branch
from

Conversation

manudeli
Copy link
Contributor

No description provided.

Copy link

nx-cloud bot commented Feb 27, 2025

View your CI Pipeline Execution ↗ for commit 0bf7deb.

Command Status Duration Result
nx affected --targets=test:sherif,test:knip,tes... ❌ Failed 5m 5s View ↗
nx run-many --target=build --exclude=examples/*... ✅ Succeeded 2m 1s View ↗

☁️ Nx Cloud last updated this comment at 2025-02-28 12:24:28 UTC

Copy link

pkg-pr-new bot commented Feb 27, 2025

Open in Stackblitz

More templates

@tanstack/angular-query-devtools-experimental

npm i https://pkg.pr.new/@tanstack/angular-query-devtools-experimental@8720

@tanstack/angular-query-experimental

npm i https://pkg.pr.new/@tanstack/angular-query-experimental@8720

@tanstack/eslint-plugin-query

npm i https://pkg.pr.new/@tanstack/eslint-plugin-query@8720

@tanstack/query-async-storage-persister

npm i https://pkg.pr.new/@tanstack/query-async-storage-persister@8720

@tanstack/query-broadcast-client-experimental

npm i https://pkg.pr.new/@tanstack/query-broadcast-client-experimental@8720

@tanstack/query-core

npm i https://pkg.pr.new/@tanstack/query-core@8720

@tanstack/query-devtools

npm i https://pkg.pr.new/@tanstack/query-devtools@8720

@tanstack/query-persist-client-core

npm i https://pkg.pr.new/@tanstack/query-persist-client-core@8720

@tanstack/query-sync-storage-persister

npm i https://pkg.pr.new/@tanstack/query-sync-storage-persister@8720

@tanstack/react-query

npm i https://pkg.pr.new/@tanstack/react-query@8720

@tanstack/react-query-devtools

npm i https://pkg.pr.new/@tanstack/react-query-devtools@8720

@tanstack/react-query-next-experimental

npm i https://pkg.pr.new/@tanstack/react-query-next-experimental@8720

@tanstack/react-query-persist-client

npm i https://pkg.pr.new/@tanstack/react-query-persist-client@8720

@tanstack/solid-query

npm i https://pkg.pr.new/@tanstack/solid-query@8720

@tanstack/solid-query-devtools

npm i https://pkg.pr.new/@tanstack/solid-query-devtools@8720

@tanstack/solid-query-persist-client

npm i https://pkg.pr.new/@tanstack/solid-query-persist-client@8720

@tanstack/svelte-query

npm i https://pkg.pr.new/@tanstack/svelte-query@8720

@tanstack/svelte-query-devtools

npm i https://pkg.pr.new/@tanstack/svelte-query-devtools@8720

@tanstack/svelte-query-persist-client

npm i https://pkg.pr.new/@tanstack/svelte-query-persist-client@8720

@tanstack/vue-query

npm i https://pkg.pr.new/@tanstack/vue-query@8720

@tanstack/vue-query-devtools

npm i https://pkg.pr.new/@tanstack/vue-query-devtools@8720

commit: 0bf7deb

Comment on lines 411 to 416
queryFn: () => sleep(300).then(() => 'data'),
})
expect(queryClient.isFetching()).toBe(1)
queryClient.prefetchQuery({
queryKey: key2,
queryFn: () => sleep(200).then(() => 'data'),
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

since we use real timers per default, please keep those times short (5ms and 10ms at most), or use fake timers and advance them how you want.

Copy link
Collaborator

@TkDodo TkDodo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

now that I think about it, we’re actually having problems with these kinds of tests, as they tend to be pretty flaky (see useIsFetching). The reason is probably batching, and how much power the machine has / how much work it has to do, so it appears often in CI that updates are batched together.

using fake timers is better (we have an example for that in the code-base somewhere, too)

@manudeli
Copy link
Contributor Author

now that I think about it, we’re actually having problems with these kinds of tests, as they tend to be pretty flaky (see useIsFetching). The reason is probably batching, and how much power the machine has / how much work it has to do, so it appears often in CI that updates are batched together.

using fake timers is better (we have an example for that in the code-base somewhere, too)

I agree, thanks for feedback!👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants