From 148df4483a3bfe81b792ac08c7385d49a8709f54 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?H=C3=A5kon=20R=C3=B8skaft?= <haakoero@stud.ntnu.no>
Date: Thu, 5 May 2022 16:15:27 +0200
Subject: [PATCH] Fixed some mistakes

---
 .../RentingComponents/ImageCarousel.vue       |  5 +-
 src/components/RentingComponents/ItemInfo.vue | 23 ++++---
 .../DatepickerRange/CalendarComponent.vue     |  7 +-
 .../DatepickerRange/DatepickerRange.vue       |  5 +-
 .../UserProfileComponents/UserItems.vue       |  6 +-
 .../UserProfileComponents/UserProfile.vue     |  5 +-
 src/services/user.service.js                  | 15 +++--
 src/utils/apiutil.js                          | 19 +++---
 .../api-mock-tests/apiutil-image-mock.spec.js | 66 ++++++++++---------
 .../user-component-tests/user-items.spec.js   | 60 ++++++++---------
 10 files changed, 110 insertions(+), 101 deletions(-)

diff --git a/src/components/RentingComponents/ImageCarousel.vue b/src/components/RentingComponents/ImageCarousel.vue
index 2cdea77..e92ed94 100644
--- a/src/components/RentingComponents/ImageCarousel.vue
+++ b/src/components/RentingComponents/ImageCarousel.vue
@@ -79,10 +79,7 @@ export default {
   },
   computed: {
     setButtons() {
-      if (this.images.length > 1) {
-        return true;
-      }
-      return false;
+      return this.images.length>1;
     },
   },
 };
diff --git a/src/components/RentingComponents/ItemInfo.vue b/src/components/RentingComponents/ItemInfo.vue
index ddbd39e..33e0d65 100644
--- a/src/components/RentingComponents/ItemInfo.vue
+++ b/src/components/RentingComponents/ItemInfo.vue
@@ -65,7 +65,7 @@
               <DatepickerRange
                 @value="setDate"
                 :messageOnDisplay="dateMessage"
-                :blockedDaysRange="nonAvailibleTimes"
+                :blockedDaysRange="nonAvailableTimes"
               ></DatepickerRange>
             </p>
           </div>
@@ -92,7 +92,11 @@
 
 <script>
 import NewRent from "@/components/RentingComponents/NewRent.vue";
-import { getItem, getItemPictures, getAvailibleTimesForListing } from "@/utils/apiutil";
+import {
+  getItem,
+  getItemPictures,
+  getAvailableTimesForListing,
+} from "@/utils/apiutil";
 import ImageCarousel from "@/components/RentingComponents/ImageCarousel.vue";
 import UserListItemCard from "@/components/UserProfileComponents/UserListItemCard.vue";
 import DatepickerRange from "@/components/TimepickerComponents/DatepickerRange/DatepickerRange.vue";
@@ -135,7 +139,7 @@ export default {
       totPrice: 0,
       dateMessage: "Venligst velg dato for leieperioden",
       allowForRent: false,
-      nonAvailibleTimes: [],
+      nonAvailableTimes: [],
     };
   },
   components: {
@@ -184,18 +188,19 @@ export default {
     async getUser(userId) {
       this.userForId = await UserService.getUserFromId(userId);
     },
-    async getAvailibleTimesForListing() {
-      let datesTakenInMilliseconds = await getAvailibleTimesForListing(this.item.listingID);
-      for(var i = 0; i < datesTakenInMilliseconds.length; i++) {
+    async getAvailableTimesForListing() {
+      let datesTakenInMilliseconds = await getAvailableTimesForListing(
+        this.item.listingID
+      );
+      for (var i = 0; i < datesTakenInMilliseconds.length; i++) {
         let oneArray = datesTakenInMilliseconds[i];
         let bigArray = [];
         let startDate = new Date(oneArray[0]);
         let endDate = new Date(oneArray[1]);
         bigArray.push(startDate);
         bigArray.push(endDate);
-        this.nonAvailibleTimes.push(bigArray);
+        this.nonAvailableTimes.push(bigArray);
       }
-      console.log(this.nonAvailibleTimes);
     },
     setDate(dateOfsomthing) {
       if (dateOfsomthing.startDate == null || dateOfsomthing.endDate == null) {
@@ -218,7 +223,7 @@ export default {
     await this.getItemPictures();
     await this.getItem();
     await this.getUser(this.item.userID);
-    await this.getAvailibleTimesForListing();
+    await this.getAvailableTimesForListing();
   },
 };
 </script>
diff --git a/src/components/TimepickerComponents/DatepickerRange/CalendarComponent.vue b/src/components/TimepickerComponents/DatepickerRange/CalendarComponent.vue
index c5a762c..cbb18d7 100644
--- a/src/components/TimepickerComponents/DatepickerRange/CalendarComponent.vue
+++ b/src/components/TimepickerComponents/DatepickerRange/CalendarComponent.vue
@@ -98,8 +98,11 @@ export default {
             start.getMonth() <= this.monthDate.getMonth() &&
             end.getMonth() >= this.monthDate.getMonth()
           ) {
-            if(start.getMonth() === this.monthDate.getMonth() && end.getMonth() === this.monthDate.getMonth()) {
-              for(let i = start.getDate(); i <= end.getDate(); i++) {
+            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 (
diff --git a/src/components/TimepickerComponents/DatepickerRange/DatepickerRange.vue b/src/components/TimepickerComponents/DatepickerRange/DatepickerRange.vue
index ced2a33..77bbf37 100644
--- a/src/components/TimepickerComponents/DatepickerRange/DatepickerRange.vue
+++ b/src/components/TimepickerComponents/DatepickerRange/DatepickerRange.vue
@@ -54,10 +54,7 @@ export default {
     },
     blockedDaysRange: {
       type: Array,
-      default: () => [
-        new Date(1651528800000),
-        new Date(1651701600000),
-      ],
+      default: () => [new Date(1651528800000), new Date(1651701600000)],
     },
     messageOnDisplay: String,
   },
diff --git a/src/components/UserProfileComponents/UserItems.vue b/src/components/UserProfileComponents/UserItems.vue
index ea6da15..88e130f 100644
--- a/src/components/UserProfileComponents/UserItems.vue
+++ b/src/components/UserProfileComponents/UserItems.vue
@@ -39,7 +39,11 @@
           v-for="item in visibleItems"
           :key="item"
         >
-          <ItemCard id="ItemCardPage" class="ItemCard w-fit h-fit" :item="item" />
+          <ItemCard
+            id="ItemCardPage"
+            class="ItemCard w-fit h-fit"
+            :item="item"
+          />
 
           <TripleDotButton class="DotButton" @click="openDotMenu(item)">
           </TripleDotButton>
diff --git a/src/components/UserProfileComponents/UserProfile.vue b/src/components/UserProfileComponents/UserProfile.vue
index 28f59e1..b25dea2 100644
--- a/src/components/UserProfileComponents/UserProfile.vue
+++ b/src/components/UserProfileComponents/UserProfile.vue
@@ -71,8 +71,9 @@
             <button
               @click="deleteUser"
               class="block py-2 px-4 text-sm text-error-dark hover:bg-gray-100 dark:hover:bg-gray-600 dark:text-gray-200 dark:hover:text-white"
-              >Slett bruker</button
             >
+              Slett bruker
+            </button>
           </li>
         </ul>
       </div>
@@ -158,7 +159,7 @@ export default {
         this.renterRating = ratingAsRenter;
       }
     },
-    async deleteUser(){
+    async deleteUser() {
       await UserService.deleteUser();
       this.logout();
     },
diff --git a/src/services/user.service.js b/src/services/user.service.js
index 8519f3a..a81f298 100644
--- a/src/services/user.service.js
+++ b/src/services/user.service.js
@@ -101,14 +101,15 @@ class UserService {
       .catch((err) => console.error(err));
   }
 
-  async deleteUser(){
+  async deleteUser() {
     return await axios
-    .delete(API_URL + "user/delete",{
-     headers: tokenHeader()})
-     .then((res) => {
-       return res.data;
-     })
-     .catch((err) => console.log(err))
+      .delete(API_URL + "user/delete", {
+        headers: tokenHeader(),
+      })
+      .then((res) => {
+        return res.data;
+      })
+      .catch((err) => console.log(err));
   }
 }
 export default new UserService();
diff --git a/src/utils/apiutil.js b/src/utils/apiutil.js
index e37af44..7b42b82 100644
--- a/src/utils/apiutil.js
+++ b/src/utils/apiutil.js
@@ -354,12 +354,15 @@ export function PostImagesArrayToListing(imagesArray) {
     });
 }
 
-export function getAvailibleTimesForListing(listingId) {
-  return axios.get(API_URL + "listing/" + listingId + "/availability", {
-    headers: tokenHeader(),
-  }).then((response) => {
-    return response.data;
-  }).catch((error) => {
-    console.error(error);
-  });
+export function getAvailableTimesForListing(listingId) {
+  return axios
+    .get(API_URL + "listing/" + listingId + "/availability", {
+      headers: tokenHeader(),
+    })
+    .then((response) => {
+      return response.data;
+    })
+    .catch((error) => {
+      console.error(error);
+    });
 }
diff --git a/tests/unit/api-mock-tests/apiutil-image-mock.spec.js b/tests/unit/api-mock-tests/apiutil-image-mock.spec.js
index d15d0d2..7645767 100644
--- a/tests/unit/api-mock-tests/apiutil-image-mock.spec.js
+++ b/tests/unit/api-mock-tests/apiutil-image-mock.spec.js
@@ -1,38 +1,40 @@
-import { postNewImageCommunity, PostImagesArrayToListing } from "@/utils/apiutil";
+import {
+  postNewImageCommunity,
+  PostImagesArrayToListing,
+} from "@/utils/apiutil";
 import axios from "axios";
 
 jest.mock("axios");
 
 describe("testing mocking of apiutil.js image api calls", () => {
-    it("check that image gets posted", async () => {
-        let expectedResponse = 1;
-
-        axios.post.mockImplementation(() =>
-            Promise.resolve({ data: expectedResponse })
-        );
-
-        const imageResponse = await postNewImageCommunity("image");
-        expect(imageResponse).toBe(expectedResponse);
-    });
-
-    it("check that image array gets posted to listing", async () => {
-        let expectedResponse = "OK";
-
-        const imageArray = {
-            image1: {
-                image: "image1"
-            },
-            image2: {
-                image2: "image2"
-            },
-        };
-
-
-        axios.post.mockImplementation(() =>
-            Promise.resolve({ data: expectedResponse })
-        );
-
-        const imageResponse = await PostImagesArrayToListing(imageArray);
-        expect(imageResponse.data).toBe(expectedResponse);
-    });
+  it("check that image gets posted", async () => {
+    let expectedResponse = 1;
+
+    axios.post.mockImplementation(() =>
+      Promise.resolve({ data: expectedResponse })
+    );
+
+    const imageResponse = await postNewImageCommunity("image");
+    expect(imageResponse).toBe(expectedResponse);
+  });
+
+  it("check that image array gets posted to listing", async () => {
+    let expectedResponse = "OK";
+
+    const imageArray = {
+      image1: {
+        image: "image1",
+      },
+      image2: {
+        image2: "image2",
+      },
+    };
+
+    axios.post.mockImplementation(() =>
+      Promise.resolve({ data: expectedResponse })
+    );
+
+    const imageResponse = await PostImagesArrayToListing(imageArray);
+    expect(imageResponse.data).toBe(expectedResponse);
+  });
 });
diff --git a/tests/unit/component-tests/user-component-tests/user-items.spec.js b/tests/unit/component-tests/user-component-tests/user-items.spec.js
index 32c2729..7640696 100644
--- a/tests/unit/component-tests/user-component-tests/user-items.spec.js
+++ b/tests/unit/component-tests/user-component-tests/user-items.spec.js
@@ -2,40 +2,36 @@ import { mount } from "@vue/test-utils";
 import UserItems from "@/components/UserProfileComponents/UserItems.vue";
 
 describe("UserItems component", () => {
-    let wrapper;
-
-    beforeEach(() => {
-        wrapper = mount(UserItems, {
-            data() {
-                return {
-                    items: [
-                        {
-                            listingID: 1,
-                            img: "",
-                            address: "Veien",
-                            title: "Matboks",
-                            pricePerDay: 50,
-                            toggle: false,
-                        }
-                    ]
-                }
-            }
-
-
-
-        });
+  let wrapper;
+
+  beforeEach(() => {
+    wrapper = mount(UserItems, {
+      data() {
+        return {
+          items: [
+            {
+              listingID: 1,
+              img: "",
+              address: "Veien",
+              title: "Matboks",
+              pricePerDay: 50,
+              toggle: false,
+            },
+          ],
+        };
+      },
     });
+  });
 
-    it("renders correctly", () => {
-        expect(wrapper.element).toMatchSnapshot();
-    });
-
-    it("is instantiated", () => {
-        expect(wrapper.exists()).toBeTruthy();
-    });
+  it("renders correctly", () => {
+    expect(wrapper.element).toMatchSnapshot();
+  });
 
-    it("Check headline", () => {
-        expect(wrapper.find("#headline").text()).toMatch("Mine gjenstander");
-    });
+  it("is instantiated", () => {
+    expect(wrapper.exists()).toBeTruthy();
+  });
 
+  it("Check headline", () => {
+    expect(wrapper.find("#headline").text()).toMatch("Mine gjenstander");
+  });
 });
-- 
GitLab