Add getCurrentRefreshPromise
This commit is contained in:
@@ -15,6 +15,14 @@ export abstract class Discovery<T> extends DisposableObject {
|
||||
super();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the promise of the currently running refresh operation, if one is in progress.
|
||||
* Otherwise returns a promise that resolves immediately.
|
||||
*/
|
||||
public getCurrentRefreshPromise(): Promise<void> {
|
||||
return this.currentDiscoveryPromise ?? Promise.resolve();
|
||||
}
|
||||
|
||||
/**
|
||||
* Force the discovery process to run. Normally invoked by the derived class when a relevant file
|
||||
* system change is detected.
|
||||
|
||||
@@ -10,7 +10,6 @@ import { QueryDiscovery } from "../../../../src/queries-panel/query-discovery";
|
||||
import { createMockApp } from "../../../__mocks__/appMock";
|
||||
import { mockedObject } from "../../utils/mocking.helpers";
|
||||
import { basename, join, sep } from "path";
|
||||
import { sleep } from "../../../../src/pure/time";
|
||||
|
||||
describe("QueryDiscovery", () => {
|
||||
beforeEach(() => {
|
||||
@@ -171,8 +170,7 @@ describe("QueryDiscovery", () => {
|
||||
|
||||
onWatcherDidChangeEvent.fire(workspace.workspaceFolders![0].uri);
|
||||
|
||||
// Wait for refresh to finish
|
||||
await sleep(100);
|
||||
await discovery.getCurrentRefreshPromise();
|
||||
|
||||
expect(onDidChangeQueriesSpy).toHaveBeenCalledTimes(2);
|
||||
});
|
||||
@@ -202,8 +200,7 @@ describe("QueryDiscovery", () => {
|
||||
|
||||
onDidChangeWorkspaceFoldersEvent.fire({ added: [], removed: [] });
|
||||
|
||||
// Wait for refresh to finish
|
||||
await sleep(100);
|
||||
await discovery.getCurrentRefreshPromise();
|
||||
|
||||
expect(onDidChangeQueriesSpy).toHaveBeenCalledTimes(2);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user