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