fix(ui): reset silence form duration on every mount

This commit is contained in:
Łukasz Mierzwa
2018-09-09 20:51:05 +01:00
parent 2b0ed79dd5
commit 2fa7c8fab9
3 changed files with 19 additions and 0 deletions

View File

@@ -75,6 +75,9 @@ const SilenceForm = observer(
componentDidMount() {
const { silenceFormStore, settingsStore } = this.props;
// reset startsAt & endsAt on every mount
silenceFormStore.data.resetStartEnd();
if (silenceFormStore.data.matchers.length === 0) {
silenceFormStore.data.addEmptyMatcher();
}

View File

@@ -69,6 +69,11 @@ class SilenceFormStore {
return true;
},
resetStartEnd() {
this.startsAt = moment();
this.endsAt = moment().add(1, "hour");
},
resetProgress() {
this.inProgress = false;
this.wasValidated = false;
@@ -193,6 +198,7 @@ class SilenceFormStore {
}
},
{
resetStartEnd: action.bound,
resetProgress: action.bound,
addEmptyMatcher: action.bound,
deleteMatcher: action.bound,

View File

@@ -45,6 +45,16 @@ const MockGroup = () => {
};
describe("SilenceFormStore.data", () => {
it("resetStartEnd() sets startsAt and endsAt to defaults", () => {
store.data.startsAt = moment([2000, 1, 1, 0, 1, 0]);
store.data.endsAt = moment([2000, 1, 1, 1, 2, 0]);
expect(store.data.startsAt.isSame([2000, 1, 1], "day")).toBe(true);
expect(store.data.endsAt.isSame([2000, 1, 1], "day")).toBe(true);
store.data.resetStartEnd();
expect(store.data.startsAt.isSame([2000, 1, 1], "day")).toBe(false);
expect(store.data.endsAt.isSame([2000, 1, 1], "day")).toBe(false);
});
it("resetProgress() sets 'inProgress' to false", () => {
store.data.inProgress = true;
expect(store.data.inProgress).toBe(true);