diff --git a/frontend/pages/ManageControlsPage/SetupExperience/cards/RunScript/RunScript.tests.tsx b/frontend/pages/ManageControlsPage/SetupExperience/cards/RunScript/RunScript.tests.tsx
index d6cb04f312..0bf7207aff 100644
--- a/frontend/pages/ManageControlsPage/SetupExperience/cards/RunScript/RunScript.tests.tsx
+++ b/frontend/pages/ManageControlsPage/SetupExperience/cards/RunScript/RunScript.tests.tsx
@@ -1,5 +1,5 @@
import React from "react";
-import { screen } from "@testing-library/react";
+import { screen, waitFor } from "@testing-library/react";
import mockServer from "test/mock-server";
import { createCustomRenderer, createMockRouter } from "test/test-utils";
@@ -8,14 +8,13 @@ import {
errorNoSetupExperienceScriptHandler,
} from "test/handlers/setup-experience-handlers";
import { createGetConfigHandler } from "test/handlers/config-handlers";
+import { createGetTeamHandler } from "test/handlers/team-handlers";
import { createMockMdmConfig } from "__mocks__/configMock";
import RunScript from "./RunScript";
-// eslint-disable-next-line jest/no-disabled-tests
-describe.skip("RunScript", () => {
- // skipped until https://github.com/fleetdm/fleet/issues/35730 is fixed
+describe("RunScript", () => {
it("should render the 'turn on automatic enrollment' message when MDM isn't configured", async () => {
mockServer.use(errorNoSetupExperienceScriptHandler);
mockServer.use(
@@ -23,16 +22,24 @@ describe.skip("RunScript", () => {
mdm: createMockMdmConfig({ enabled_and_configured: false }),
})
);
+ mockServer.use(createGetTeamHandler({}));
const render = createCustomRenderer({
withBackendMock: true,
});
render();
-
+ expect(screen.getByTestId("spinner")).toBeVisible();
+ expect(
+ screen.queryByText(/turn on automatic enrollment/)
+ ).not.toBeInTheDocument();
+ await waitFor(async () => {
+ expect(screen.queryByTestId("spinner")).not.toBeInTheDocument();
+ });
expect(
screen.getByText(/turn on automatic enrollment/)
).toBeInTheDocument();
});
+
it("should render the 'turn on automatic enrollment' message when MDM is configured but not ABM", async () => {
mockServer.use(errorNoSetupExperienceScriptHandler);
mockServer.use(
@@ -43,37 +50,59 @@ describe.skip("RunScript", () => {
}),
})
);
+ mockServer.use(createGetTeamHandler({}));
const render = createCustomRenderer({
withBackendMock: true,
});
render();
+ expect(screen.getByTestId("spinner")).toBeVisible();
+ expect(
+ screen.queryByText(/turn on automatic enrollment/)
+ ).not.toBeInTheDocument();
+ await waitFor(async () => {
+ expect(screen.queryByTestId("spinner")).not.toBeInTheDocument();
+ });
expect(
screen.getByText(/turn on automatic enrollment/)
).toBeInTheDocument();
});
+
it("should render the script uploader when no script has been uploaded", async () => {
mockServer.use(errorNoSetupExperienceScriptHandler);
mockServer.use(createGetConfigHandler());
+ mockServer.use(createGetTeamHandler({}));
const render = createCustomRenderer({
withBackendMock: true,
});
render();
-
+ expect(screen.getByTestId("spinner")).toBeVisible();
+ expect(screen.queryByLabelText("Upload")).not.toBeInTheDocument();
+ await waitFor(async () => {
+ expect(screen.queryByTestId("spinner")).not.toBeInTheDocument();
+ });
expect(await screen.findByRole("button", { name: "Upload" })).toBeVisible();
});
it("should render the uploaded script uploader when a script has been uploaded", async () => {
mockServer.use(createSetupExperienceScriptHandler());
mockServer.use(createGetConfigHandler());
+ mockServer.use(createGetTeamHandler({}));
const render = createCustomRenderer({
withBackendMock: true,
});
render();
+ expect(screen.getByTestId("spinner")).toBeVisible();
+ expect(
+ screen.queryByText("Script will run during setup:")
+ ).not.toBeInTheDocument();
+ await waitFor(async () => {
+ expect(screen.queryByTestId("spinner")).not.toBeInTheDocument();
+ });
expect(
await screen.findByText("Script will run during setup:")
).toBeVisible();
diff --git a/frontend/test/jest.config.ts b/frontend/test/jest.config.ts
index c587a302cd..c75ae8d0d3 100644
--- a/frontend/test/jest.config.ts
+++ b/frontend/test/jest.config.ts
@@ -39,7 +39,7 @@ const config: Config = {
setupFilesAfterEnv: ["/frontend/test/test-setup.ts"],
clearMocks: true,
testEnvironmentOptions: {
- url: "http://localhost:8080",
+ url: "http://fleettest.test:9876",
customExportConditions: [""],
},
transformIgnorePatterns: [`/node_modules/(?!(${esModules})/)`],