Merge branch '21128-toolbar-context-menu'
[arvados-workbench2.git] / src / models / test-utils.ts
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 import { GroupClass, GroupResource } from "./group";
6 import { Resource, ResourceKind } from "./resource";
7 import { ProjectResource } from "./project";
8
9 export const mockGroupResource = (data: Partial<GroupResource> = {}): GroupResource => ({
10     createdAt: "",
11     deleteAt: "",
12     description: "",
13     etag: "",
14     groupClass: null,
15     href: "",
16     isTrashed: false,
17     kind: ResourceKind.GROUP,
18     modifiedAt: "",
19     modifiedByClientUuid: "",
20     modifiedByUserUuid: "",
21     name: "",
22     ownerUuid: "",
23     properties: "",
24     trashAt: "",
25     uuid: "",
26     ensure_unique_name: true,
27     canWrite: false,
28     canManage: false,
29     ...data
30 });
31
32 export const mockProjectResource = (data: Partial<ProjectResource> = {}): ProjectResource =>
33     mockGroupResource({ ...data, groupClass: GroupClass.PROJECT }) as ProjectResource;
34
35 export const mockCommonResource = (data: Partial<Resource>): Resource => ({
36     createdAt: "",
37     etag: "",
38     href: "",
39     kind: ResourceKind.NONE,
40     modifiedAt: "",
41     modifiedByClientUuid: "",
42     modifiedByUserUuid: "",
43     ownerUuid: "",
44     uuid: "",
45     ...data
46 });