import { resourceUuidToContextMenuKind } from './context-menu-actions';
import configureStore from 'redux-mock-store';
import thunk from 'redux-thunk';
+import { PROJECT_PANEL_CURRENT_UUID } from '../project-panel/project-panel-action';
+import { GroupClass } from '~/models/group';
describe('context-menu-actions', () => {
describe('resourceUuidToContextMenuKind', () => {
cases.forEach(([resourceUuid, isAdminUser, isEditable, isTrashed, expected]) => {
const initialState = {
+ properties: {
+ [PROJECT_PANEL_CURRENT_UUID]: projectUuid,
+ },
resources: {
[headCollectionUuid]: {
uuid: headCollectionUuid,
uuid: oldCollectionUuid,
currentVersionUuid: headCollectionUuid,
isTrashed: isTrashed,
-
},
[projectUuid]: {
uuid: projectUuid,
ownerUuid: isEditable ? userUuid : otherUserUuid,
writableBy: isEditable ? [userUuid] : [otherUserUuid],
+ groupClass: GroupClass.PROJECT,
},
[linkUuid]: {
uuid: linkUuid,
};
const store = mockStore(initialState);
- const menuKind = store.dispatch<any>(resourceUuidToContextMenuKind(resourceUuid as string))
+ let menuKind: any;
try {
+ menuKind = store.dispatch<any>(resourceUuidToContextMenuKind(resourceUuid as string))
expect(menuKind).toBe(expected);
} catch (err) {
throw new Error(`menuKind for resource ${JSON.stringify(initialState.resources[resourceUuid as string])} expected to be ${expected} but got ${menuKind}.`);