// SPDX-License-Identifier: AGPL-3.0
import { LinkService } from "../link-service/link-service";
-import { GroupsService, GroupContentsResource } from "../groups-service/groups-service";
+import { GroupsService } from "../groups-service/groups-service";
import { FavoriteService } from "./favorite-service";
-import { LinkClass, LinkResource } from "../../models/link";
-import { mockResourceService } from "../../common/api/common-resource-service.test";
-import { FilterBuilder } from "../../common/api/filter-builder";
+import { LinkClass } from "~/models/link";
+import { mockResourceService } from "~/services/common-service/common-resource-service.test";
+import { FilterBuilder } from "~/services/api/filter-builder";
describe("FavoriteService", () => {
it("unmarks resource as favorite", async () => {
const list = jest.fn().mockReturnValue(Promise.resolve({ items: [{ uuid: "linkUuid" }] }));
- const filters = FilterBuilder
- .create()
- .addEqual('tailUuid', "userUuid")
- .addEqual('headUuid', "resourceUuid")
- .addEqual('linkClass', LinkClass.STAR);
+ const filters = new FilterBuilder()
+ .addEqual('tail_uuid', "userUuid")
+ .addEqual('head_uuid', "resourceUuid")
+ .addEqual('link_class', LinkClass.STAR);
linkService.list = list;
linkService.delete = jest.fn().mockReturnValue(Promise.resolve({ uuid: "linkUuid" }));
const favoriteService = new FavoriteService(linkService, groupService);
const newFavorite = await favoriteService.delete({ userUuid: "userUuid", resourceUuid: "resourceUuid" });
- expect(list.mock.calls[0][0].filters.getFilters()).toEqual(filters.getFilters());
+ expect(list.mock.calls[0][0].filters).toEqual(filters.getFilters());
expect(linkService.delete).toHaveBeenCalledWith("linkUuid");
expect(newFavorite[0].uuid).toEqual("linkUuid");
});
it("lists favorite resources", async () => {
const list = jest.fn().mockReturnValue(Promise.resolve({ items: [{ headUuid: "headUuid" }] }));
- const listFilters = FilterBuilder
- .create()
- .addEqual('tailUuid', "userUuid")
- .addEqual('linkClass', LinkClass.STAR);
+ const listFilters = new FilterBuilder()
+ .addEqual('tail_uuid', "userUuid")
+ .addEqual('link_class', LinkClass.STAR);
const contents = jest.fn().mockReturnValue(Promise.resolve({ items: [{ uuid: "resourceUuid" }] }));
- const contentFilters = FilterBuilder.create().addIn('uuid', ["headUuid"]);
+ const contentFilters = new FilterBuilder().addIn('uuid', ["headUuid"]);
linkService.list = list;
groupService.contents = contents;
const favoriteService = new FavoriteService(linkService, groupService);
const favorites = await favoriteService.list("userUuid");
- expect(list.mock.calls[0][0].filters.getFilters()).toEqual(listFilters.getFilters());
+ expect(list.mock.calls[0][0].filters).toEqual(listFilters.getFilters());
expect(contents.mock.calls[0][0]).toEqual("userUuid");
- expect(contents.mock.calls[0][1].filters.getFilters()).toEqual(contentFilters.getFilters());
+ expect(contents.mock.calls[0][1].filters).toEqual(contentFilters.getFilters());
expect(favorites).toEqual({ items: [{ uuid: "resourceUuid" }] });
});
it("checks if resources are present in favorites", async () => {
const list = jest.fn().mockReturnValue(Promise.resolve({ items: [{ headUuid: "foo" }] }));
- const listFilters = FilterBuilder
- .create()
- .addIn("headUuid", ["foo", "oof"])
- .addEqual("tailUuid", "userUuid")
- .addEqual("linkClass", LinkClass.STAR);
+ const listFilters = new FilterBuilder()
+ .addIn("head_uuid", ["foo", "oof"])
+ .addEqual("tail_uuid", "userUuid")
+ .addEqual("link_class", LinkClass.STAR);
linkService.list = list;
const favoriteService = new FavoriteService(linkService, groupService);
const favorites = await favoriteService.checkPresenceInFavorites("userUuid", ["foo", "oof"]);
- expect(list.mock.calls[0][0].filters.getFilters()).toEqual(listFilters.getFilters());
+ expect(list.mock.calls[0][0].filters).toEqual(listFilters.getFilters());
expect(favorites).toEqual({ foo: true, oof: false });
});