-
-
+
+"
+`;
+
+exports[` matches snapshot with some filters 1`] = `
+"
+
-"
-`;
-
-exports[`
matches snapshot with some filters 1`] = `
-"
-
+
"
`;
diff --git a/ui/src/Components/NavBar/FilterInput/index.test.tsx b/ui/src/Components/NavBar/FilterInput/index.test.tsx
index 9e9a7615d..1ecf0128c 100644
--- a/ui/src/Components/NavBar/FilterInput/index.test.tsx
+++ b/ui/src/Components/NavBar/FilterInput/index.test.tsx
@@ -1,6 +1,6 @@
import { act } from "react-dom/test-utils";
-import { mount, render } from "enzyme";
+import { mount } from "enzyme";
import toDiffableHtml from "diffable-html";
@@ -39,7 +39,7 @@ const MountedInput = () => {
describe("
", () => {
it("matches snapshot with no filters", () => {
- const tree = render(
+ const tree = mount(
);
expect(toDiffableHtml(tree.html())).toMatchSnapshot();
@@ -51,7 +51,7 @@ describe("
", () => {
NewUnappliedFilter("foo=bar"),
NewUnappliedFilter("baz!=bar"),
]);
- const tree = render(
+ const tree = mount(
);
expect(toDiffableHtml(tree.html())).toMatchSnapshot();
diff --git a/ui/src/Components/PaginatedAlertList/index.test.tsx b/ui/src/Components/PaginatedAlertList/index.test.tsx
index 8c4ddb64d..cdd01baf5 100644
--- a/ui/src/Components/PaginatedAlertList/index.test.tsx
+++ b/ui/src/Components/PaginatedAlertList/index.test.tsx
@@ -1,7 +1,5 @@
import { mount } from "enzyme";
-import { advanceTo, clear } from "jest-date-mock";
-
import { useFetchGetMock } from "__fixtures__/useFetchGet";
import { AlertStore } from "Stores/AlertStore";
import { useFetchGet } from "Hooks/useFetchGet";
@@ -10,8 +8,8 @@ import { PaginatedAlertList } from ".";
let alertStore: AlertStore;
beforeEach(() => {
- advanceTo(new Date(Date.UTC(2000, 0, 1, 0, 30, 0)));
- jest.useFakeTimers();
+ jest.useFakeTimers("modern");
+ jest.setSystemTime(new Date(Date.UTC(2000, 0, 1, 0, 30, 0)));
alertStore = new AlertStore([]);
@@ -37,7 +35,7 @@ beforeEach(() => {
afterEach(() => {
jest.restoreAllMocks();
- clear();
+ jest.useRealTimers();
document.body.className = "";
});
diff --git a/ui/src/Components/SilenceModal/Browser/index.test.tsx b/ui/src/Components/SilenceModal/Browser/index.test.tsx
index 17177faee..1efe32d67 100644
--- a/ui/src/Components/SilenceModal/Browser/index.test.tsx
+++ b/ui/src/Components/SilenceModal/Browser/index.test.tsx
@@ -4,8 +4,6 @@ import { mount } from "enzyme";
import toDiffableHtml from "diffable-html";
-import { advanceTo, clear } from "jest-date-mock";
-
import { useFetchGetMock } from "__fixtures__/useFetchGet";
import { MockSilence } from "__fixtures__/Alerts";
import { PressKey } from "__fixtures__/PressKey";
@@ -26,8 +24,8 @@ let silence: APISilenceT;
declare let global: any;
beforeEach(() => {
- advanceTo(new Date(Date.UTC(2000, 0, 1, 0, 30, 0)));
- jest.useFakeTimers();
+ jest.useFakeTimers("modern");
+ jest.setSystemTime(new Date(Date.UTC(2000, 0, 1, 0, 30, 0)));
alertStore = new AlertStore([]);
silenceFormStore = new SilenceFormStore();
@@ -60,7 +58,7 @@ beforeEach(() => {
afterEach(() => {
jest.restoreAllMocks();
jest.clearAllTimers();
- clear();
+ jest.useRealTimers();
localStorage.setItem("fetchConfig.interval", "");
global.window.innerWidth = 1024;
@@ -107,17 +105,17 @@ describe("
", () => {
settingsStore.fetchConfig.setInterval(1);
MountedBrowser();
- advanceTo(new Date(Date.UTC(2000, 0, 1, 0, 30, 2)));
+ jest.setSystemTime(new Date(Date.UTC(2000, 0, 1, 0, 30, 2)));
act(() => {
jest.runOnlyPendingTimers();
});
- advanceTo(new Date(Date.UTC(2000, 0, 1, 0, 30, 4)));
+ jest.setSystemTime(new Date(Date.UTC(2000, 0, 1, 0, 30, 4)));
act(() => {
jest.runOnlyPendingTimers();
});
- advanceTo(new Date(Date.UTC(2000, 0, 1, 0, 30, 6)));
+ jest.setSystemTime(new Date(Date.UTC(2000, 0, 1, 0, 30, 6)));
act(() => {
jest.runOnlyPendingTimers();
});
@@ -408,7 +406,7 @@ describe("
", () => {
tree.unmount();
act(() => {
- advanceTo(new Date(Date.UTC(2000, 0, 1, 0, 30, 59)));
+ jest.setSystemTime(new Date(Date.UTC(2000, 0, 1, 0, 30, 59)));
jest.runOnlyPendingTimers();
});
diff --git a/ui/src/Components/SilenceModal/DateTimeSelect/index.test.tsx b/ui/src/Components/SilenceModal/DateTimeSelect/index.test.tsx
index 907d6b9d8..c17c5d15d 100644
--- a/ui/src/Components/SilenceModal/DateTimeSelect/index.test.tsx
+++ b/ui/src/Components/SilenceModal/DateTimeSelect/index.test.tsx
@@ -2,8 +2,6 @@ import { act } from "react-dom/test-utils";
import { mount, shallow } from "enzyme";
-import { advanceTo, clear } from "jest-date-mock";
-
import toDiffableHtml from "diffable-html";
import addMinutes from "date-fns/addMinutes";
@@ -21,13 +19,15 @@ import {
let silenceFormStore: SilenceFormStore;
beforeEach(() => {
+ jest.useFakeTimers("modern");
+
silenceFormStore = new SilenceFormStore();
silenceFormStore.data.setStart(new Date(2060, 1, 1, 0, 0, 0));
silenceFormStore.data.setEnd(new Date(2061, 1, 1, 0, 0, 0));
});
afterEach(() => {
- clear();
+ jest.useRealTimers();
});
const ShallowDateTimeSelect = () => {
@@ -56,7 +56,7 @@ describe("
", () => {
});
it("'Duration' tab matches snapshot", () => {
- advanceTo(new Date(2060, 1, 1, 0, 0, 0));
+ jest.setSystemTime(new Date(2060, 1, 1, 0, 0, 0));
const tree = MountedDateTimeSelect();
expect(toDiffableHtml(tree.html())).toMatchSnapshot();
});
@@ -75,7 +75,7 @@ describe("
", () => {
});
it("'Starts' tab matches snapshot", () => {
- advanceTo(new Date(2060, 1, 1, 0, 0, 0));
+ jest.setSystemTime(new Date(2060, 1, 1, 0, 0, 0));
const tree = MountedDateTimeSelect();
tree.find(".nav-link").at(0).simulate("click");
expect(toDiffableHtml(tree.html())).toMatchSnapshot();
@@ -96,7 +96,7 @@ describe("
", () => {
});
it("'Ends' tab matches snapshot", () => {
- advanceTo(new Date(2060, 1, 1, 0, 0, 0));
+ jest.setSystemTime(new Date(2060, 1, 1, 0, 0, 0));
const tree = MountedDateTimeSelect();
tree.find(".nav-link").at(1).simulate("click");
expect(toDiffableHtml(tree.html())).toMatchSnapshot();
@@ -121,14 +121,14 @@ describe("
", () => {
it("'Ends' tab offset badge is updated after 1 minute", () => {
jest.useFakeTimers();
- advanceTo(new Date(2060, 1, 1, 12, 0, 0));
+ jest.setSystemTime(new Date(2060, 1, 1, 12, 0, 0));
silenceFormStore.data.setStart(new Date(2060, 1, 1, 12, 0, 0));
silenceFormStore.data.setEnd(new Date(2060, 1, 1, 13, 0, 0));
const tree = MountedDateTimeSelect();
expect(tree.find(".nav-link").at(1).text()).toBe("Endsin 1h ");
- advanceTo(new Date(2060, 1, 1, 12, 1, 0));
+ jest.setSystemTime(new Date(2060, 1, 1, 12, 1, 0));
act(() => {
jest.runOnlyPendingTimers();
});
diff --git a/ui/src/Components/SilenceModal/PayloadPreview/__snapshots__/index.test.tsx.snap b/ui/src/Components/SilenceModal/PayloadPreview/__snapshots__/index.test.tsx.snap
index 2463da741..3a5be942f 100644
--- a/ui/src/Components/SilenceModal/PayloadPreview/__snapshots__/index.test.tsx.snap
+++ b/ui/src/Components/SilenceModal/PayloadPreview/__snapshots__/index.test.tsx.snap
@@ -2,79 +2,81 @@
exports[`
matches snapshot 1`] = `
"
-
- {
+
+
+ {
\\"
-
- matchers
-
- \\": [],
+
+ matchers
+
+ \\": [],
\\"
-
- startsAt
-
- \\":
-
- \\"2000-02-01T00:00:00.000Z\\"
-
- ,
+
+ startsAt
+
+ \\":
+
+ \\"2000-02-01T00:00:00.000Z\\"
+
+ ,
\\"
-
- endsAt
-
- \\":
-
- \\"2000-02-01T01:00:00.000Z\\"
-
- ,
+
+ endsAt
+
+ \\":
+
+ \\"2000-02-01T01:00:00.000Z\\"
+
+ ,
\\"
-
- createdBy
-
- \\":
-
- \\"me@example.com\\"
-
- ,
+
+ createdBy
+
+ \\":
+
+ \\"me@example.com\\"
+
+ ,
\\"
-
- comment
-
- \\":
-
- \\"PayloadPreview test\\"
-
- }
-
+
+ comment
+
+ \\":
+
+ \\"PayloadPreview test\\"
+
+ }
+
+
"
`;
diff --git a/ui/src/Components/SilenceModal/PayloadPreview/index.test.tsx b/ui/src/Components/SilenceModal/PayloadPreview/index.test.tsx
index 70c4fe94a..3b8f5d9bc 100644
--- a/ui/src/Components/SilenceModal/PayloadPreview/index.test.tsx
+++ b/ui/src/Components/SilenceModal/PayloadPreview/index.test.tsx
@@ -1,4 +1,4 @@
-import { render } from "enzyme";
+import { mount } from "enzyme";
import toDiffableHtml from "diffable-html";
@@ -13,7 +13,7 @@ describe("", () => {
silenceFormStore.data.setAuthor("me@example.com");
silenceFormStore.data.setComment("PayloadPreview test");
- const tree = render();
+ const tree = mount();
expect(toDiffableHtml(tree.html())).toMatchSnapshot();
});
});
diff --git a/ui/src/Components/SilenceModal/SilenceSubmit/SilenceSubmitProgress.test.tsx b/ui/src/Components/SilenceModal/SilenceSubmit/SilenceSubmitProgress.test.tsx
index 2e751dad2..6b9c17e56 100644
--- a/ui/src/Components/SilenceModal/SilenceSubmit/SilenceSubmitProgress.test.tsx
+++ b/ui/src/Components/SilenceModal/SilenceSubmit/SilenceSubmitProgress.test.tsx
@@ -259,9 +259,7 @@ describe("", () => {
/>
);
await act(async () => {
- await act(async () => {
- await fetchMock.flush(true);
- });
+ await fetchMock.flush(true);
});
tree.update();
expect(fetchMock.calls()).toHaveLength(2);
@@ -313,9 +311,7 @@ describe("", () => {
/>
);
await act(async () => {
- await act(async () => {
- await fetchMock.flush(true);
- });
+ await fetchMock.flush(true);
});
expect(fetchMock.calls()[0][0]).toBe(
"http://am1.example.com/api/v2/silences"
@@ -352,9 +348,7 @@ describe("", () => {
/>
);
await act(async () => {
- await act(async () => {
- await fetchMock.flush(true);
- });
+ await fetchMock.flush(true);
});
expect(fetchMock.calls()).toHaveLength(0);
expect(consoleSpy).toHaveBeenCalledTimes(2);
@@ -418,9 +412,7 @@ describe("", () => {
/>
);
await act(async () => {
- await act(async () => {
- await fetchMock.flush(true);
- });
+ await fetchMock.flush(true);
});
expect(fetchMock.calls()).toHaveLength(1);
expect(fetchMock.calls()[0][0]).toBe(
@@ -498,9 +490,7 @@ describe("", () => {
it("renders silence link on successful fetch", async () => {
const tree = MountedSilenceSubmitProgress();
await act(async () => {
- await act(async () => {
- await fetchMock.flush(true);
- });
+ await fetchMock.flush(true);
});
tree.update();
expect(
@@ -521,9 +511,7 @@ describe("", () => {
});
const tree = MountedSilenceSubmitProgress();
await act(async () => {
- await act(async () => {
- await fetchMock.flush(true);
- });
+ await fetchMock.flush(true);
});
tree.update();
expect(
diff --git a/ui/src/setupTests.ts b/ui/src/setupTests.ts
index ec1203a11..2eced79ee 100644
--- a/ui/src/setupTests.ts
+++ b/ui/src/setupTests.ts
@@ -32,9 +32,6 @@ Enzyme.configure({ adapter: new Adapter() });
// favico.js needs canvas
require("jest-canvas-mock");
-// used to mock current time since we render moment.fromNow() in some places
-require("jest-date-mock");
-
// https://reactjs.org/blog/2019/08/08/react-v16.9.0.html#new-deprecations
const reactDeprecationWarning =
/.*has been renamed, and is not recommended for use.*/;