diff --git a/package-lock.json b/package-lock.json
index 2f87a8760653c15b2673273b8bb7b5dd795b9693..1da8b2f7a97339102c24eacb37372840ca0f22ec 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -40,7 +40,7 @@
         "@vue/cli-plugin-vuex": "~5.0.0",
         "@vue/cli-service": "~5.0.0",
         "@vue/test-utils": "^2.0.0-0",
-        "@vue/vue3-jest": "^27.0.0-alpha.1",
+        "@vue/vue3-jest": "^27.0.0",
         "autoprefixer": "^10.4.4",
         "babel-jest": "^27.0.6",
         "eslint": "^7.32.0",
@@ -4070,14 +4070,15 @@
       "license": "MIT"
     },
     "node_modules/@vue/vue3-jest": {
-      "version": "27.0.0-alpha.4",
+      "version": "27.0.0",
+      "resolved": "https://registry.npmjs.org/@vue/vue3-jest/-/vue3-jest-27.0.0.tgz",
+      "integrity": "sha512-VL61CgZBoQqayXfzlZJHHpZuX4lsT8dmdZMJzADhdAJjKu26JBpypHr/2ppevxItljPiuALQW4MKhhCXZRXnLg==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "@babel/plugin-transform-modules-commonjs": "^7.2.0",
         "chalk": "^2.1.0",
         "convert-source-map": "^1.6.0",
-        "extract-from-css": "^0.4.4",
+        "css-tree": "^2.0.1",
         "source-map": "0.5.6",
         "tsconfig": "^7.0.0"
       },
@@ -4098,6 +4099,26 @@
         }
       }
     },
+    "node_modules/@vue/vue3-jest/node_modules/css-tree": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.1.0.tgz",
+      "integrity": "sha512-PcysZRzToBbrpoUrZ9qfblRIRf8zbEAkU0AIpQFtgkFK0vSbzOmBCvdSAx2Zg7Xx5wiYJKUKk0NMP7kxevie/A==",
+      "dev": true,
+      "dependencies": {
+        "mdn-data": "2.0.27",
+        "source-map-js": "^1.0.1"
+      },
+      "engines": {
+        "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0",
+        "npm": ">=7.0.0"
+      }
+    },
+    "node_modules/@vue/vue3-jest/node_modules/mdn-data": {
+      "version": "2.0.27",
+      "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.27.tgz",
+      "integrity": "sha512-kwqO0I0jtWr25KcfLm9pia8vLZ8qoAKhWZuZMbneJq3jjBD3gl5nZs8l8Tu3ZBlBAHVQtDur9rdDGyvtfVraHQ==",
+      "dev": true
+    },
     "node_modules/@vue/vue3-jest/node_modules/source-map": {
       "version": "0.5.6",
       "dev": true,
@@ -4650,17 +4671,6 @@
         "node": ">= 4.0.0"
       }
     },
-    "node_modules/atob": {
-      "version": "2.1.2",
-      "dev": true,
-      "license": "(MIT OR Apache-2.0)",
-      "bin": {
-        "atob": "bin/atob.js"
-      },
-      "engines": {
-        "node": ">= 4.5.0"
-      }
-    },
     "node_modules/autoprefixer": {
       "version": "10.4.4",
       "dev": true,
@@ -5876,17 +5886,6 @@
         "semver": "bin/semver"
       }
     },
-    "node_modules/css": {
-      "version": "2.2.4",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "inherits": "^2.0.3",
-        "source-map": "^0.6.1",
-        "source-map-resolve": "^0.5.2",
-        "urix": "^0.1.0"
-      }
-    },
     "node_modules/css-declaration-sorter": {
       "version": "6.2.2",
       "dev": true,
@@ -6077,14 +6076,6 @@
         "url": "https://github.com/sponsors/fb55"
       }
     },
-    "node_modules/css/node_modules/source-map": {
-      "version": "0.6.1",
-      "dev": true,
-      "license": "BSD-3-Clause",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
     "node_modules/cssesc": {
       "version": "3.0.0",
       "license": "MIT",
@@ -6256,14 +6247,6 @@
       "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==",
       "dev": true
     },
-    "node_modules/decode-uri-component": {
-      "version": "0.2.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=0.10"
-      }
-    },
     "node_modules/dedent": {
       "version": "0.7.0",
       "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
@@ -7636,18 +7619,6 @@
         "node": ">=0.10.0"
       }
     },
-    "node_modules/extract-from-css": {
-      "version": "0.4.4",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "css": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=0.10.0",
-        "npm": ">=2.0.0"
-      }
-    },
     "node_modules/fast-deep-equal": {
       "version": "3.1.3",
       "dev": true,
@@ -13277,11 +13248,6 @@
         "node": ">=8"
       }
     },
-    "node_modules/resolve-url": {
-      "version": "0.2.1",
-      "dev": true,
-      "license": "MIT"
-    },
     "node_modules/resolve.exports": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz",
@@ -13724,18 +13690,6 @@
         "node": ">=0.10.0"
       }
     },
-    "node_modules/source-map-resolve": {
-      "version": "0.5.3",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "atob": "^2.1.2",
-        "decode-uri-component": "^0.2.0",
-        "resolve-url": "^0.2.1",
-        "source-map-url": "^0.4.0",
-        "urix": "^0.1.0"
-      }
-    },
     "node_modules/source-map-support": {
       "version": "0.5.21",
       "dev": true,
@@ -13753,11 +13707,6 @@
         "node": ">=0.10.0"
       }
     },
-    "node_modules/source-map-url": {
-      "version": "0.4.1",
-      "dev": true,
-      "license": "MIT"
-    },
     "node_modules/sourcemap-codec": {
       "version": "1.4.8",
       "license": "MIT"
@@ -14620,11 +14569,6 @@
         "punycode": "^2.1.0"
       }
     },
-    "node_modules/urix": {
-      "version": "0.1.0",
-      "dev": true,
-      "license": "MIT"
-    },
     "node_modules/url-parse": {
       "version": "1.5.10",
       "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
@@ -18609,17 +18553,35 @@
       }
     },
     "@vue/vue3-jest": {
-      "version": "27.0.0-alpha.4",
+      "version": "27.0.0",
+      "resolved": "https://registry.npmjs.org/@vue/vue3-jest/-/vue3-jest-27.0.0.tgz",
+      "integrity": "sha512-VL61CgZBoQqayXfzlZJHHpZuX4lsT8dmdZMJzADhdAJjKu26JBpypHr/2ppevxItljPiuALQW4MKhhCXZRXnLg==",
       "dev": true,
       "requires": {
         "@babel/plugin-transform-modules-commonjs": "^7.2.0",
         "chalk": "^2.1.0",
         "convert-source-map": "^1.6.0",
-        "extract-from-css": "^0.4.4",
+        "css-tree": "^2.0.1",
         "source-map": "0.5.6",
         "tsconfig": "^7.0.0"
       },
       "dependencies": {
+        "css-tree": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.1.0.tgz",
+          "integrity": "sha512-PcysZRzToBbrpoUrZ9qfblRIRf8zbEAkU0AIpQFtgkFK0vSbzOmBCvdSAx2Zg7Xx5wiYJKUKk0NMP7kxevie/A==",
+          "dev": true,
+          "requires": {
+            "mdn-data": "2.0.27",
+            "source-map-js": "^1.0.1"
+          }
+        },
+        "mdn-data": {
+          "version": "2.0.27",
+          "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.27.tgz",
+          "integrity": "sha512-kwqO0I0jtWr25KcfLm9pia8vLZ8qoAKhWZuZMbneJq3jjBD3gl5nZs8l8Tu3ZBlBAHVQtDur9rdDGyvtfVraHQ==",
+          "dev": true
+        },
         "source-map": {
           "version": "0.5.6",
           "dev": true
@@ -18985,10 +18947,6 @@
       "version": "1.0.0",
       "dev": true
     },
-    "atob": {
-      "version": "2.1.2",
-      "dev": true
-    },
     "autoprefixer": {
       "version": "10.4.4",
       "dev": true,
@@ -19788,22 +19746,6 @@
         }
       }
     },
-    "css": {
-      "version": "2.2.4",
-      "dev": true,
-      "requires": {
-        "inherits": "^2.0.3",
-        "source-map": "^0.6.1",
-        "source-map-resolve": "^0.5.2",
-        "urix": "^0.1.0"
-      },
-      "dependencies": {
-        "source-map": {
-          "version": "0.6.1",
-          "dev": true
-        }
-      }
-    },
     "css-declaration-sorter": {
       "version": "6.2.2",
       "dev": true,
@@ -20031,10 +19973,6 @@
       "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==",
       "dev": true
     },
-    "decode-uri-component": {
-      "version": "0.2.0",
-      "dev": true
-    },
     "dedent": {
       "version": "0.7.0",
       "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
@@ -20924,13 +20862,6 @@
         "is-extendable": "^0.1.0"
       }
     },
-    "extract-from-css": {
-      "version": "0.4.4",
-      "dev": true,
-      "requires": {
-        "css": "^2.1.0"
-      }
-    },
     "fast-deep-equal": {
       "version": "3.1.3",
       "dev": true
@@ -24642,10 +24573,6 @@
       "version": "5.0.0",
       "dev": true
     },
-    "resolve-url": {
-      "version": "0.2.1",
-      "dev": true
-    },
     "resolve.exports": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz",
@@ -24953,17 +24880,6 @@
     "source-map-js": {
       "version": "1.0.2"
     },
-    "source-map-resolve": {
-      "version": "0.5.3",
-      "dev": true,
-      "requires": {
-        "atob": "^2.1.2",
-        "decode-uri-component": "^0.2.0",
-        "resolve-url": "^0.2.1",
-        "source-map-url": "^0.4.0",
-        "urix": "^0.1.0"
-      }
-    },
     "source-map-support": {
       "version": "0.5.21",
       "dev": true,
@@ -24978,10 +24894,6 @@
         }
       }
     },
-    "source-map-url": {
-      "version": "0.4.1",
-      "dev": true
-    },
     "sourcemap-codec": {
       "version": "1.4.8"
     },
@@ -25567,10 +25479,6 @@
         "punycode": "^2.1.0"
       }
     },
-    "urix": {
-      "version": "0.1.0",
-      "dev": true
-    },
     "url-parse": {
       "version": "1.5.10",
       "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
diff --git a/package.json b/package.json
index 97312aebe6f2e7cb32032be5bf4f7416775d6ea9..574bdcba1eb86fdbaad3953478af4c00ec56313a 100644
--- a/package.json
+++ b/package.json
@@ -41,7 +41,7 @@
     "@vue/cli-plugin-vuex": "~5.0.0",
     "@vue/cli-service": "~5.0.0",
     "@vue/test-utils": "^2.0.0-0",
-    "@vue/vue3-jest": "^27.0.0-alpha.1",
+    "@vue/vue3-jest": "^27.0.0",
     "autoprefixer": "^10.4.4",
     "babel-jest": "^27.0.6",
     "eslint": "^7.32.0",
diff --git a/src/components/ChatComponents/ChatMessage.vue b/src/components/ChatComponents/ChatMessage.vue
index a918265c9e1b903c673af292938cd064eb631725..25aaf5cc00772c8eb024d837e9cdcfdc7a141ae0 100644
--- a/src/components/ChatComponents/ChatMessage.vue
+++ b/src/components/ChatComponents/ChatMessage.vue
@@ -56,35 +56,36 @@ export default {
         : "justify-end";
     },
     calculateTime() {
-       var time = this?.message.timestamp;
-       var date = new Date(time);
-       //Todo add timing for mm and hh and week of message
-       var mmOfMessage = String(date.getMinutes());
-       var hhOfMessage = String(date.getHours());
-       var ddOfMessage = String(date.getDate()).padStart(2, '0');
-       var dayOfMessage = date.toLocaleString('default', { weekday: 'short' });
-       var monthOfMessage = String(date.getMonth() + 1).padStart(2, '0'); //January is 0!
-       const shortMonthOfMessage = date.toLocaleString('default', { month: 'short' });
-       var yyyyOfMessage = date.getFullYear();
+      var time = this?.message.timestamp;
+      var date = new Date(time);
+      //Todo add timing for mm and hh and week of message
+      var mmOfMessage = String(date.getMinutes());
+      var hhOfMessage = String(date.getHours());
+      var ddOfMessage = String(date.getDate()).padStart(2, "0");
+      var dayOfMessage = date.toLocaleString("default", { weekday: "short" });
+      var monthOfMessage = String(date.getMonth() + 1).padStart(2, "0"); //January is 0!
+      const shortMonthOfMessage = date.toLocaleString("default", {
+        month: "short",
+      });
+      var yyyyOfMessage = date.getFullYear();
 
-       var today = new Date();
-       var dd = String(today.getDate()).padStart(2, '0');
-       var mm = String(today.getMonth() + 1).padStart(2, '0'); //January is 0!
-       var yyyy = today.getFullYear();
-      if(ddOfMessage == dd){
+      var today = new Date();
+      var dd = String(today.getDate()).padStart(2, "0");
+      var mm = String(today.getMonth() + 1).padStart(2, "0"); //January is 0!
+      var yyyy = today.getFullYear();
+      if (ddOfMessage == dd) {
         return "" + hhOfMessage + ":" + mmOfMessage + "";
+      } else if (this.isDateInThisWeek(date)) {
+        return "" + dayOfMessage + "  " + hhOfMessage + ":" + mmOfMessage;
+      } else if (monthOfMessage == mm) {
+        return "" + ddOfMessage + "  " + hhOfMessage + ":" + mmOfMessage;
+      } else if (yyyyOfMessage == yyyy) {
+        return "" + shortMonthOfMessage + "  " + ddOfMessage;
       }
-      else if (this.isDateInThisWeek(date)){
-          return "" +dayOfMessage + "  " + hhOfMessage+":" + mmOfMessage;
-      }
-      else if (monthOfMessage == mm){
-          return "" + ddOfMessage + "  " + hhOfMessage + ":" + mmOfMessage;
-      }
-      else if (yyyyOfMessage == yyyy){
-          return "" + shortMonthOfMessage + "  " + ddOfMessage; 
-      }
-          return shortMonthOfMessage + "  " + ddOfMessage + "  " + yyyyOfMessage + "";
-      
+      return (
+        shortMonthOfMessage + "  " + ddOfMessage + "  " + yyyyOfMessage + ""
+      );
+
       /*
         Take timestamp and display date when message was sent
         If message was sent this day show time (HH:MM) (13:00)
@@ -93,23 +94,22 @@ export default {
         If message was sent this year show month and day of the month (MMM DD) (Jan 13)
         If message was sent more than a year ago show year with date (MMM DD YYYY) (Jan 13 2020)
       */
-
     },
     isDateInThisWeek(date) {
-  const todayObj = new Date();
-  const todayDate = todayObj.getDate();
-  const todayDay = todayObj.getDay();
+      const todayObj = new Date();
+      const todayDate = todayObj.getDate();
+      const todayDay = todayObj.getDay();
 
-  // get first date of week
-  const firstDayOfWeek = new Date(todayObj.setDate(todayDate - todayDay));
+      // get first date of week
+      const firstDayOfWeek = new Date(todayObj.setDate(todayDate - todayDay));
 
-  // get last date of week
-  const lastDayOfWeek = new Date(firstDayOfWeek);
-  lastDayOfWeek.setDate(lastDayOfWeek.getDate() + 6);
+      // get last date of week
+      const lastDayOfWeek = new Date(firstDayOfWeek);
+      lastDayOfWeek.setDate(lastDayOfWeek.getDate() + 6);
 
-  // if date is equal or within the first and last dates of the week
-  return date >= firstDayOfWeek && date <= lastDayOfWeek;
-},
-  },
+      // if date is equal or within the first and last dates of the week
+      return date >= firstDayOfWeek && date <= lastDayOfWeek;
+    },
+  }
 };
 </script>
diff --git a/src/components/TimepickerComponents/DatepickerRange/CalendarComponent.vue b/src/components/TimepickerComponents/DatepickerRange/CalendarComponent.vue
index 7ff418c29bec9efc5c40b2d424c1c0751563cd42..3dc900ba723e3ef0f6c600a186d37810540a0f07 100644
--- a/src/components/TimepickerComponents/DatepickerRange/CalendarComponent.vue
+++ b/src/components/TimepickerComponents/DatepickerRange/CalendarComponent.vue
@@ -98,7 +98,11 @@ export default {
             start.getMonth() <= this.monthDate.getMonth() &&
             end.getMonth() >= this.monthDate.getMonth()
           ) {
-            if (
+            if(start.getMonth() === this.monthDate.getMonth() && end.getMonth() === this.monthDate.getMonth()) {
+              for(let i = start.getDate(); i <= end.getDate(); i++) {
+                blockedDays.push(i);
+              }
+            } else if (
               start.getMonth() < this.monthDate.getMonth() &&
               end.getMonth() > this.monthDate.getMonth()
             ) {
@@ -119,6 +123,7 @@ export default {
             }
           }
         } else {
+          console.log("WHAt WHAT!")
           // check that day is in this month
           const day = new Date(blockedDay[0]);
           if (day.getMonth() !== this.monthDate.getMonth()) return;
diff --git a/src/components/TimepickerComponents/DatepickerRange/DatepickerRange.vue b/src/components/TimepickerComponents/DatepickerRange/DatepickerRange.vue
index 49fd65dc1249dc57add5e7c73d69a60bca2a1736..9fe015ba1722a593be7a5b281332d77ac5495918 100644
--- a/src/components/TimepickerComponents/DatepickerRange/DatepickerRange.vue
+++ b/src/components/TimepickerComponents/DatepickerRange/DatepickerRange.vue
@@ -54,7 +54,12 @@ export default {
     },
     blockedDaysRange: {
       type: Array,
-      default: () => [],
+      default: () => [
+        [
+          new Date(),
+          new Date(new Date().setDate(new Date().getDate() + 3)),
+        ]
+      ],
     },
     messageOnDisplay: String,
   },
diff --git a/tests/unit/component-tests/time-picker-components-tests/date-range-picker-tests/DateRangePicker.spec.js b/tests/unit/component-tests/time-picker-components-tests/date-range-picker-tests/DateRangePicker.spec.js
index 73930c106a23ae30aee5256dbb28d5be1a9477aa..1867c2ddd1b63fbebb7ac405cdb820642f45ee9a 100644
--- a/tests/unit/component-tests/time-picker-components-tests/date-range-picker-tests/DateRangePicker.spec.js
+++ b/tests/unit/component-tests/time-picker-components-tests/date-range-picker-tests/DateRangePicker.spec.js
@@ -19,4 +19,76 @@ describe("DateRangePicker.vue", () => {
     it("Is instansiated", () => {
         expect(wrapper.exists()).toBeTruthy();
     });
+
+    it("Check that calendar is closed", () => {
+        expect(wrapper.find(".picker").attributes().style).toBe("display: none;");
+    })
+
+    it("Click input to open calender", async () => {
+        wrapper.find("input").trigger("click");
+        // wait a tick
+        await wrapper.vm.$nextTick();
+        expect(wrapper.find(".picker").attributes().style).toBe("display: flex;");
+    })
+
+    it("Select blocked date", async () => {
+        wrapper.vm.$emit('selectDate', new Date(1651739228545));
+        await wrapper.vm.$nextTick();
+        // Check if startDate is set
+        expect(wrapper.vm.startDate).not.toBe(new Date(1651739228545));
+    })
+
+    it("Select valid date", async () => {
+        await wrapper.vm.selectDate(new Date(1661739228545));
+        // wait a tick
+        await wrapper.vm.$nextTick();
+        expect(wrapper.vm.startDate.getTime()).toBe(1661739228545);
+    })
+
+    it("Select valid range", async () => {
+        await wrapper.vm.selectDate(new Date(1661739228545));
+        await wrapper.vm.selectDate(new Date(1661939228545));
+
+        // wait a tick
+        await wrapper.vm.$nextTick();
+        expect(wrapper.vm.startDate.getTime()).toBe(1661739228545);
+        expect(wrapper.vm.endDate.getTime()).toBe(1661939228545);
+
+        // Click on the complete button to close the calendar
+        wrapper.find(".buttons").findAll("button")[1].trigger("click");
+        await wrapper.vm.$nextTick();
+        expect(wrapper.find(".picker").attributes().style).toBe("display: none;");
+    })
+
+    it("Select invalid range", async () => {
+        // Check that error is not present.
+        expect(wrapper.find(".error").exists()).not.toBeTruthy();
+
+        const start = 1652433228545;
+        const end = 1652933228545;
+
+        await wrapper.vm.selectDate(new Date(start));
+        await wrapper.vm.selectDate(new Date(end));
+        // Ceck that present is invalid
+        expect(wrapper.find(".error").exists()).toBeTruthy();
+    })
+
+    it("Check reset button", async () => {
+        // Check that error is not present.
+        expect(wrapper.find(".error").exists()).not.toBeTruthy();
+
+        const start = 1652433228545;
+        const end = 1652933228545;
+
+        await wrapper.vm.selectDate(new Date(start));
+        await wrapper.vm.selectDate(new Date(end));
+        // Ceck that present is invalid
+        expect(wrapper.find(".error").exists()).toBeTruthy();
+
+        wrapper.find(".buttons").findAll("button")[0].trigger("click");
+        await wrapper.vm.$nextTick();
+
+        expect(wrapper.vm.startDate.getTime()).not.toBe(1652433228545);
+        expect(wrapper.vm.endDate).toBe(null);
+    })
 })