diff --git a/ui/src/Components/SilenceModal/DateTimeSelect/index.test.js b/ui/src/Components/SilenceModal/DateTimeSelect/index.test.js
index 878512442..ec4a59d76 100644
--- a/ui/src/Components/SilenceModal/DateTimeSelect/index.test.js
+++ b/ui/src/Components/SilenceModal/DateTimeSelect/index.test.js
@@ -216,3 +216,91 @@ describe("", () => {
ValidateDurationButton(8, /angle-down/, -1 * 5 * 60 * 1000);
});
});
+
+const SetDurationTo = (hours, minutes) => {
+ const startsAt = moment([2060, 1, 1, 0, 0, 0]);
+ const endsAt = moment(startsAt)
+ .add(hours, "hours")
+ .add(minutes, "minutes");
+ silenceFormStore.data.startsAt = startsAt;
+ silenceFormStore.data.endsAt = endsAt;
+};
+
+describe(" inc minute CalculateChangeValue", () => {
+ it("inc on 0:1:0 duration sets 0:1:5", () => {
+ SetDurationTo(1, 0);
+ ValidateDurationButton(6, /angle-up/, 5 * 60 * 1000);
+ });
+
+ it("inc on 0:1:1 duration sets 0:1:2", () => {
+ SetDurationTo(1, 1);
+ ValidateDurationButton(6, /angle-up/, 60 * 1000);
+ });
+
+ it("inc on 0:1:4 duration sets 0:1:5", () => {
+ SetDurationTo(1, 4);
+ ValidateDurationButton(6, /angle-up/, 60 * 1000);
+ });
+
+ it("inc on 0:1:5 duration sets 0:1:10", () => {
+ SetDurationTo(1, 5);
+ ValidateDurationButton(6, /angle-up/, 5 * 60 * 1000);
+ });
+
+ it("inc on 0:1:6 duration sets 0:1:10", () => {
+ SetDurationTo(1, 6);
+ ValidateDurationButton(6, /angle-up/, 4 * 60 * 1000);
+ });
+
+ it("inc on 0:0:55 duration sets 0:1:0", () => {
+ SetDurationTo(0, 55);
+ ValidateDurationButton(6, /angle-up/, 5 * 60 * 1000);
+ });
+});
+
+describe(" dec minute CalculateChangeValue", () => {
+ it("inc on 0:1:0 duration sets 0:0:55", () => {
+ SetDurationTo(1, 0);
+ ValidateDurationButton(8, /angle-down/, -5 * 60 * 1000);
+ });
+
+ it("inc on 0:0:59 duration sets 0:0:55", () => {
+ SetDurationTo(0, 59);
+ ValidateDurationButton(8, /angle-down/, -4 * 60 * 1000);
+ });
+
+ it("inc on 0:0:56 duration sets 0:0:55", () => {
+ SetDurationTo(0, 56);
+ ValidateDurationButton(8, /angle-down/, -1 * 60 * 1000);
+ });
+
+ it("inc on 0:0:55 duration sets 0:0:50", () => {
+ SetDurationTo(1, 0);
+ ValidateDurationButton(8, /angle-down/, -5 * 60 * 1000);
+ });
+
+ it("inc on 0:1:10 duration sets 0:1:5", () => {
+ SetDurationTo(1, 10);
+ ValidateDurationButton(8, /angle-down/, -5 * 60 * 1000);
+ });
+
+ it("inc on 0:1:6 duration sets 0:1:5", () => {
+ SetDurationTo(1, 6);
+ ValidateDurationButton(8, /angle-down/, -1 * 60 * 1000);
+ });
+
+ it("inc on 0:1:5 duration sets 0:1:0", () => {
+ SetDurationTo(1, 5);
+ ValidateDurationButton(8, /angle-down/, -5 * 60 * 1000);
+ });
+
+ it("inc on 0:1:4 duration sets 0:1:3", () => {
+ SetDurationTo(1, 4);
+ ValidateDurationButton(8, /angle-down/, -1 * 60 * 1000);
+ });
+
+ it("inc on 0:1:1 duration sets 0:1:0", () => {
+ SetDurationTo(1, 1);
+ ValidateDurationButton(8, /angle-down/, -1 * 60 * 1000);
+ });
+});