Skip to content
Snippets Groups Projects
Commit c7b7a86b authored by Gilgard's avatar Gilgard
Browse files

Fixed failing test

parent 9baa7d6b
No related branches found
No related tags found
1 merge request!167User itemstests
Pipeline #182793 passed
...@@ -72,7 +72,6 @@ ...@@ -72,7 +72,6 @@
</li> </li>
<li> <li>
<button <button
@click="goToDeleteItem(item.listingID)" @click="goToDeleteItem(item.listingID)"
class="deleteButton 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" class="deleteButton 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"
> >
...@@ -198,14 +197,14 @@ ...@@ -198,14 +197,14 @@
</template> </template>
<script> <script>
import TripleDotButton from "@/components/BaseComponents/TripleDotButton.vue"; import TripleDotButton from "@/components/BaseComponents/TripleDotButton.vue";
import { GetUserListings, getItemPictures } from "@/utils/apiutil";
import ColoredButton from "@/components/BaseComponents/ColoredButton.vue"; import ColoredButton from "@/components/BaseComponents/ColoredButton.vue";
import UserService from "@/services/user.service";
import ItemCard from "@/components/ItemComponents/ItemCard.vue"; import ItemCard from "@/components/ItemComponents/ItemCard.vue";
import PaginationTemplate from "@/components/BaseComponents/PaginationTemplate"; import PaginationTemplate from "@/components/BaseComponents/PaginationTemplate";
import CustomFooterModal from "@/components/BaseComponents/CustomFooterModal.vue"; import CustomFooterModal from "@/components/BaseComponents/CustomFooterModal.vue";
import UserService from "@/services/user.service";
import listingService from "@/services/listing.service";
export default { export default {
name: "UserItems", name: "UserItems",
components: { components: {
...@@ -268,10 +267,12 @@ export default { ...@@ -268,10 +267,12 @@ export default {
} }
}, },
getUserListingsFromAPI: async function () { getUserListingsFromAPI: async function () {
this.items = await GetUserListings(); this.items = await UserService.getUserListings();
for (var i = 0; i < this.items.length; i++) { for (var i = 0; i < this.items.length; i++) {
this.items[i].toggle = false; this.items[i].toggle = false;
let images = await getItemPictures(this.items[i].listingID); let images = await listingService.getItemPictures(
this.items[i].listingID
);
if (images.length > 0) { if (images.length > 0) {
this.items[i].img = images[0].picture; this.items[i].img = images[0].picture;
} }
......
import { mount } from "@vue/test-utils"; import { mount } from "@vue/test-utils";
import UserItems from "@/components/UserProfileComponents/UserItems.vue"; import UserItems from "@/components/UserProfileComponents/UserItems.vue";
import axios from "axios"; import UserService from "@/services/user.service";
import ListingService from "@/services/listing.service";
let mockRouter; jest.mock("@/services/user.service", () => jest.fn());
jest.mock("@/utils/apiutil", () => { jest.mock("@/services/listing.service", () => jest.fn());
return {
getItemPictures: () => { UserService.getUserListings = jest.fn(() => {
return new Promise((resolve) => { return new Promise((resolve) => {
resolve([]); resolve([
}); {
}, listingID: 1,
GetUserListings: () => { img: "",
return new Promise((resolve) => { address: "Veien",
resolve([ { title: "Matboks",
listingID: 1, pricePerDay: 50,
img: "", toggle: false,
address: "Veien", },
title: "Matboks", ]);
pricePerDay: 50, });
toggle: false, });
},]);
}) UserService.setListingToDeleted = jest.fn(() => {
} return new Promise((resolve) => {
}; resolve();
});
});
ListingService.getItemPictures = jest.fn(() => {
return new Promise((resolve) => {
resolve([]);
});
}); });
jest.mock("axios") jest.mock("axios");
let mockRouter;
let wrapper; let wrapper;
describe("UserItems component", () => { describe("UserItems component", () => {
mockRouter = { mockRouter = {
push: jest.fn() push: jest.fn(),
} go: jest.fn(),
};
beforeEach(() => { beforeEach(() => {
wrapper = mount(UserItems, { wrapper = mount(UserItems, {
global:{ global: {
mocks:{ mocks: {
$router: mockRouter $router: mockRouter,
} },
}, },
data() { data() {
return { return {
...@@ -60,40 +71,35 @@ describe("UserItems component", () => { ...@@ -60,40 +71,35 @@ describe("UserItems component", () => {
expect(wrapper.find("#headline").text()).toMatch("Mine gjenstander"); expect(wrapper.find("#headline").text()).toMatch("Mine gjenstander");
}); });
it("Check if pressing 'Rediger gjenstand' pushes to right path", async () => { it("Check if pressing 'Rediger gjenstand' pushes to right path", async () => {
const dotButton = wrapper.findAll(".DotButton")[0]; const dotButton = wrapper.findAll(".DotButton")[0];
dotButton.trigger("click"); dotButton.trigger("click");
const editButton = wrapper.findAll(".editButton")[0]; const editButton = wrapper.findAll(".editButton")[0];
expect(editButton.text()).toBe("Rediger gjenstand"); expect(editButton.text()).toBe("Rediger gjenstand");
editButton.trigger("click"); editButton.trigger("click");
await wrapper.vm.$nextTick(); await wrapper.vm.$nextTick();
expect(mockRouter.push).toBeCalled(); expect(mockRouter.push).toBeCalled();
expect(mockRouter.push).toBeCalledWith("/item/1/edit"); expect(mockRouter.push).toBeCalledWith("/item/1/edit");
}); });
it("Check if delete is called", async () => { it("Check if delete is called", async () => {
const dotButton = wrapper.findAll(".DotButton")[0]; const dotButton = wrapper.findAll(".DotButton")[0];
dotButton.trigger("click"); dotButton.trigger("click");
await wrapper.vm.$nextTick(); await wrapper.vm.$nextTick();
const deleteButton = wrapper.findAll(".deleteButton")[0]; const deleteButton = wrapper.findAll(".deleteButton")[0];
expect(deleteButton.text()).toBe("Slett gjenstand"); expect(deleteButton.text()).toBe("Slett gjenstand");
deleteButton.trigger("click"); deleteButton.trigger("click");
await wrapper.vm.$nextTick(); await wrapper.vm.$nextTick();
const confirmButton = wrapper.findAll(".confirmDelete")[0]; const confirmButton = wrapper.findAll(".confirmDelete")[0];
expect(confirmButton.text()).toBe("Slett"); expect(confirmButton.text()).toBe("Slett");
//Feiler herfra
// confirmButton.trigger("click"); //Feiler herfra
// await wrapper.vm.$nextTick(); confirmButton.trigger("click");
await wrapper.vm.$nextTick();
// expect(axios.delete).toBeCalledTimes(1); expect(ListingService.getItemPictures).toBeCalled();
// expect(mockRouter.go).toBeCalled(); expect(mockRouter.go).toBeCalled();
}); });
}); });
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment