import axios from "axios";
import { ProjectService } from "./project-service";
-import { FilterBuilder } from "../../common/api/filter-builder";
-import { ProjectResource } from "../../models/project";
+import { FilterBuilder } from "~/services/api/filter-builder";
+import { ApiActions } from "~/services/api/api-actions";
describe("CommonResourceService", () => {
const axiosInstance = axios.create();
+ const actions: ApiActions = {
+ progressFn: (id: string, working: boolean) => {},
+ errorFn: (id: string, message: string) => {}
+ };
it(`#create has groupClass set to "project"`, async () => {
axiosInstance.post = jest.fn(() => Promise.resolve({ data: {} }));
- const projectService = new ProjectService(axiosInstance);
+ const projectService = new ProjectService(axiosInstance, actions);
const resource = await projectService.create({ name: "nameValue" });
- expect(axiosInstance.post).toHaveBeenCalledWith("/groups/", {
+ expect(axiosInstance.post).toHaveBeenCalledWith("/groups", {
name: "nameValue",
group_class: "project"
});
});
-
it("#list has groupClass filter set by default", async () => {
axiosInstance.get = jest.fn(() => Promise.resolve({ data: {} }));
- const projectService = new ProjectService(axiosInstance);
+ const projectService = new ProjectService(axiosInstance, actions);
const resource = await projectService.list();
- expect(axiosInstance.get).toHaveBeenCalledWith("/groups/", {
+ expect(axiosInstance.get).toHaveBeenCalledWith("/groups", {
params: {
- filters: FilterBuilder
- .create()
- .addEqual("groupClass", "project")
- .serialize()
+ filters: "[" + new FilterBuilder()
+ .addEqual("group_class", "project")
+ .getFilters() + "]",
+ order: undefined
}
});
});
-
});