Skip to content

Commit 4fafafa

Browse files
committed
fix: remove 'enabling' query after start method call
1 parent ddbf6d4 commit 4fafafa

File tree

3 files changed

+29
-10
lines changed

3 files changed

+29
-10
lines changed

src/mobx-query.test.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -713,6 +713,26 @@ describe('MobxQuery', () => {
713713

714714
mobxQuery.dispose();
715715
});
716+
717+
test('should call queryFn every time when start() method is called', async () => {
718+
const querySpyFn = vi.fn();
719+
const mobxQuery = new MobxQueryMock({
720+
queryKey: ['test'],
721+
queryFn: querySpyFn,
722+
enabled: false,
723+
});
724+
725+
await mobxQuery.start();
726+
await mobxQuery.start();
727+
await mobxQuery.start();
728+
729+
await when(() => !mobxQuery._rawResult.isLoading);
730+
731+
expect(mobxQuery.result.isFetched).toBeTruthy();
732+
expect(querySpyFn).toBeCalledTimes(3);
733+
734+
mobxQuery.dispose();
735+
});
716736
});
717737

718738
describe('scenarios', () => {

src/mobx-query.ts

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -357,14 +357,13 @@ export class MobxQuery<
357357
this.abortController.abort();
358358
}
359359

360-
async start(params?: MobxQueryStartParams<TData, TError, TQueryKey>) {
361-
const options: MobxQueryUpdateOptions<TData, TError, TQueryKey> = {
362-
enabled: true,
363-
...params,
364-
};
365-
this.update(options);
360+
async start({
361+
cancelRefetch,
362+
...params
363+
}: MobxQueryStartParams<TData, TError, TQueryKey> = {}) {
364+
this.update({ ...params });
366365

367-
await this.refetch();
366+
await this.refetch({ cancelRefetch });
368367
}
369368

370369
/**

src/mobx-query.types.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import {
66
QueryFilters,
77
QueryKey,
88
QueryObserverOptions,
9+
RefetchOptions,
910
} from '@tanstack/query-core';
1011
import { IDisposer } from 'disposer-util';
1112

@@ -124,9 +125,8 @@ export interface MobxQueryStartParams<
124125
TData,
125126
TError = DefaultError,
126127
TQueryKey extends QueryKey = QueryKey,
127-
> extends Partial<
128-
Omit<MobxQueryUpdateOptions<TData, TError, TQueryKey>, 'enabled'>
129-
> {}
128+
> extends MobxQueryUpdateOptions<TData, TError, TQueryKey>,
129+
Pick<RefetchOptions, 'cancelRefetch'> {}
130130

131131
export type InferQuery<
132132
T extends MobxQueryConfig<any, any, any> | MobxQuery<any, any, any>,

0 commit comments

Comments
 (0)