Merge pull request #1003 from prymitive/test-react-moment

fix(ui): add a test for react-moment
This commit is contained in:
Łukasz Mierzwa
2019-10-05 11:56:14 +01:00
committed by GitHub
2 changed files with 28 additions and 2 deletions

View File

@@ -20,7 +20,7 @@ beforeAll(() => {
});
beforeEach(() => {
advanceTo(new Date(2000, 1, 1, 0, 0, 0));
advanceTo(new Date(Date.UTC(2000, 1, 1, 0, 0, 0)));
alertStore = new AlertStore(["label=value"]);
fetchSpy = jest

View File

@@ -8,6 +8,8 @@ import { advanceTo, clear } from "jest-date-mock";
import toDiffableHtml from "diffable-html";
import Moment from "react-moment";
import { MockAlert, MockAnnotation, MockAlertGroup } from "__mocks__/Alerts.js";
import { AlertStore } from "Stores/AlertStore";
import { SilenceFormStore } from "Stores/SilenceFormStore";
@@ -18,7 +20,7 @@ let alertStore;
let silenceFormStore;
beforeEach(() => {
advanceTo(new Date(2018, 7, 15, 20, 40, 0));
advanceTo(new Date(Date.UTC(2018, 7, 15, 20, 40, 0)));
alertStore = new AlertStore([]);
silenceFormStore = new SilenceFormStore();
});
@@ -208,4 +210,28 @@ describe("<Alert />", () => {
.hasClass("border-warning")
).toBe(true);
});
it("alert timestamp is updated every minute", () => {
jest.useFakeTimers();
Moment.startPooledTimer();
advanceTo(new Date(Date.UTC(2018, 7, 14, 17, 36, 41)));
const alert = MockedAlert();
const group = MockAlertGroup({}, [alert], [], {}, {});
const tree = MountedAlert(alert, group, false, false);
expect(tree.find("time").text()).toBe("a few seconds ago");
advanceTo(new Date(Date.UTC(2018, 7, 14, 17, 37, 41)));
jest.advanceTimersByTime(61 * 1000);
expect(tree.find("time").text()).toBe("a minute ago");
advanceTo(new Date(Date.UTC(2018, 7, 14, 18, 36, 41)));
jest.advanceTimersByTime(61 * 1000);
expect(tree.find("time").text()).toBe("an hour ago");
advanceTo(new Date(Date.UTC(2018, 7, 14, 19, 36, 41)));
jest.advanceTimersByTime(61 * 1000);
expect(tree.find("time").text()).toBe("2 hours ago");
});
});