From b1b557e397faa511805d676e4f2c233d217de441 Mon Sep 17 00:00:00 2001 From: henrikburmann <haburmann@gmail.com> Date: Thu, 5 May 2022 15:32:47 +0200 Subject: [PATCH] Delete user --- .../UserProfileComponents/UserProfile.vue | 10 ++- src/services/user.service.js | 10 +++ .../__snapshots__/user-items.spec.js.snap | 83 +++++++++++++++++++ .../user-component-tests/user-items.spec.js | 33 +++++--- 4 files changed, 120 insertions(+), 16 deletions(-) diff --git a/src/components/UserProfileComponents/UserProfile.vue b/src/components/UserProfileComponents/UserProfile.vue index 142f3e6..28f59e1 100644 --- a/src/components/UserProfileComponents/UserProfile.vue +++ b/src/components/UserProfileComponents/UserProfile.vue @@ -68,10 +68,10 @@ > </li> <li> - <router-link - to="" + <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</router-link + >Slett bruker</button > </li> </ul> @@ -158,6 +158,10 @@ export default { this.renterRating = ratingAsRenter; } }, + async deleteUser(){ + await UserService.deleteUser(); + this.logout(); + }, logout() { this.$store.commit("logout"); this.$router.push("/"); diff --git a/src/services/user.service.js b/src/services/user.service.js index 44b6159..dbbe296 100644 --- a/src/services/user.service.js +++ b/src/services/user.service.js @@ -100,5 +100,15 @@ class UserService { }) .catch((err) => console.error(err)); } + + async deleteUser(){ + return await axios + .delete(API_URL + "user/delete",{ + headers: tokenHeader()}) + .then((res) => { + return res.data; + }) + .catch((err) => console.log(err)) + } } export default new UserService(); diff --git a/tests/unit/component-tests/user-component-tests/__snapshots__/user-items.spec.js.snap b/tests/unit/component-tests/user-component-tests/__snapshots__/user-items.spec.js.snap index 2e9d433..3b43fca 100644 --- a/tests/unit/component-tests/user-component-tests/__snapshots__/user-items.spec.js.snap +++ b/tests/unit/component-tests/user-component-tests/__snapshots__/user-items.spec.js.snap @@ -52,6 +52,89 @@ exports[`UserItems component renders correctly 1`] = ` class="grid grid-flow-row-dense grid-cols-2 md:grid-cols-4 lg:grid-cols-5 w-full" > + <div + class="cardContainer" + id="item" + > + <div + class="mt-5 ItemCard w-fit h-fit" + id="ItemCardPage" + > + <div + class="w-4/5 rounded bg-gray-200 h-full overflow-hidden display:inline-block correct-size" + > + <img + alt="Item image" + class="h-3/4" + src="" + /> + <div + class="p-1 m-1 bottom-0" + > + <p + class="text-gray-700 text-xs font-bold" + id="adress" + > + Veien + </p> + <p + class="font-bold text-sm" + id="title" + > + Matboks + </p> + <p + class="text-gray-700 text-xs" + id="price" + > + 50 kr + </p> + </div> + </div> + </div> + <button + class="w-10 h-10 text-gray-500 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg float-right text-sm p-1.5 DotButton" + data-dropdown-toggle="dropdown" + id="dropdownDefault" + type="button" + > + <svg + class="w-6 h-6" + fill="currentColor" + viewBox="0 0 20 20" + xmlns="http://www.w3.org/2000/svg" + > + <path + d="M10 6a2 2 0 110-4 2 2 0 010 4zM10 12a2 2 0 110-4 2 2 0 010 4zM10 18a2 2 0 110-4 2 2 0 010 4z" + /> + </svg> + </button> + <div + class="options z-10 w-44 text-base list-none bg-white rounded divide-y divide-gray-100 shadow dark:bg-gray-700" + style="display: none;" + > + <ul + aria-labelledby="dropdownDefault" + class="py-1 absolute bg-white ring-1 ring-gray-300 rounded-xl" + > + <li> + <button + class="block py-2 px-4 text-sm text-gray-700 hover:bg-gray-100 dark:hover:bg-gray-600 dark:text-gray-200 dark:hover:text-white" + to="/user/userItems" + > + Rediger gjenstand + </button> + </li> + <li> + <button + class="block py-2 px-4 text-sm text-error-medium hover:bg-gray-100 dark:hover:bg-gray-600 dark:text-gray-200 dark:hover:text-white" + > + Slett gjenstand + </button> + </li> + </ul> + </div> + </div> <!-- Main modal --> 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 c3def71..876740d 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 @@ -6,18 +6,23 @@ describe("UserItems component", () => { beforeEach(() => { wrapper = mount(UserItems, { - props: { - ItemCard: { - item: { - listingID: 1, - img: "", - address: "Veien", - title: "Matboks", - pricePerDay: 50, - toggle: false, - } + data() { + return { + items: [ + { + listingID: 1, + img: "", + address: "Veien", + title: "Matboks", + pricePerDay: 50, + toggle: false, + } + ] } } + + + }); }); @@ -29,9 +34,11 @@ describe("UserItems component", () => { expect(wrapper.exists()).toBeTruthy(); }); - it("Check information", () => { - const byID = wrapper.find("#ItemCardPage"); - expect(byID.item.title.) + it("Check headline", () => { + expect(wrapper.find("#headline").text()).toMatch("Mine gjenstander"); + }); + it("Check Itemcard title", () =>{ + expect(wrapper.findAll("ItemCard").length).toBe(1) }) }); -- GitLab