Clean up runQyery test
This commit is contained in:
@@ -11,30 +11,16 @@ import * as log from "../../../../src/common/logging/notifications";
|
||||
import { RedactableError } from "../../../../src/common/errors";
|
||||
import { showAndLogExceptionWithTelemetry } from "../../../../src/common/logging";
|
||||
import { QueryLanguage } from "../../../../src/common/query-language";
|
||||
import { Query } from "../../../../src/data-extensions-editor/queries/query";
|
||||
import { mockedUri } from "../../utils/mocking.helpers";
|
||||
import { Mode } from "../../../../src/data-extensions-editor/shared/mode";
|
||||
|
||||
describe("runQuery", () => {
|
||||
const languages = Object.keys(fetchExternalApiQueries);
|
||||
const language = Object.keys(fetchExternalApiQueries)[
|
||||
Math.floor(Math.random() * Object.keys(fetchExternalApiQueries).length)
|
||||
] as QueryLanguage;
|
||||
|
||||
const cases = languages.flatMap((lang) => {
|
||||
const queryDir = dirSync({ unsafeCleanup: true }).name;
|
||||
|
||||
const query = fetchExternalApiQueries[lang as QueryLanguage];
|
||||
if (!query) {
|
||||
return [];
|
||||
}
|
||||
|
||||
const keys = new Set(Object.keys(query));
|
||||
keys.delete("dependencies");
|
||||
|
||||
return Array.from(keys).map((name) => ({
|
||||
language: lang as QueryLanguage,
|
||||
queryName: name as keyof Omit<Query, "dependencies">,
|
||||
queryDir,
|
||||
}));
|
||||
});
|
||||
|
||||
it("should log an error", async () => {
|
||||
const showAndLogExceptionWithTelemetrySpy: jest.SpiedFunction<
|
||||
typeof showAndLogExceptionWithTelemetry
|
||||
@@ -42,9 +28,9 @@ describe("runQuery", () => {
|
||||
|
||||
const logPath = (await file()).path;
|
||||
|
||||
const query = fetchExternalApiQueries[cases[0].language];
|
||||
const query = fetchExternalApiQueries[language];
|
||||
if (!query) {
|
||||
throw new Error(`No query found for language ${cases[0].language}`);
|
||||
throw new Error(`No query found for language ${language}`);
|
||||
}
|
||||
|
||||
const options = {
|
||||
@@ -71,10 +57,10 @@ describe("runQuery", () => {
|
||||
name: "foo",
|
||||
datasetUri: mockedUri(),
|
||||
},
|
||||
language: cases[0].language,
|
||||
language,
|
||||
},
|
||||
queryStorageDir: "/tmp/queries",
|
||||
queryDir: cases[0].queryDir,
|
||||
queryDir,
|
||||
progress: jest.fn(),
|
||||
token: {
|
||||
isCancellationRequested: false,
|
||||
@@ -82,7 +68,7 @@ describe("runQuery", () => {
|
||||
},
|
||||
};
|
||||
|
||||
expect(await runQuery(cases[0].queryName, options)).toBeUndefined();
|
||||
expect(await runQuery(Mode.Application, options)).toBeUndefined();
|
||||
expect(showAndLogExceptionWithTelemetrySpy).toHaveBeenCalledWith(
|
||||
expect.anything(),
|
||||
undefined,
|
||||
@@ -90,9 +76,7 @@ describe("runQuery", () => {
|
||||
);
|
||||
});
|
||||
|
||||
test.each(cases)(
|
||||
"should run $queryName for $language",
|
||||
async ({ language, queryName, queryDir }) => {
|
||||
it("should run query for random language", async () => {
|
||||
const logPath = (await file()).path;
|
||||
|
||||
const query = fetchExternalApiQueries[language];
|
||||
@@ -135,7 +119,7 @@ describe("runQuery", () => {
|
||||
},
|
||||
};
|
||||
|
||||
const result = await runQuery(queryName, options);
|
||||
const result = await runQuery(Mode.Framework, options);
|
||||
|
||||
expect(result?.resultType).toEqual(QueryResultType.SUCCESS);
|
||||
|
||||
@@ -155,8 +139,7 @@ describe("runQuery", () => {
|
||||
undefined,
|
||||
undefined,
|
||||
);
|
||||
},
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe("readQueryResults", () => {
|
||||
|
||||
Reference in New Issue
Block a user