const headCollectionUuid = 'zzzzz-4zz18-aaaaaaaaaaaaaaa';
const oldCollectionUuid = 'zzzzz-4zz18-aaaaaaaaaaaaaab';
const projectUuid = 'zzzzz-j7d0g-ccccccccccccccc';
+ const filterGroupUuid = 'zzzzz-j7d0g-ccccccccccccccd';
const linkUuid = 'zzzzz-o0j2j-0123456789abcde';
const containerRequestUuid = 'zzzzz-xvhdp-0123456789abcde';
it('should return the correct menu kind', () => {
const cases = [
- // resourceUuid, isAdminUser, isEditable, isTrashed, expected
- [headCollectionUuid, false, true, true, ContextMenuKind.TRASHED_COLLECTION],
- [headCollectionUuid, false, true, false, ContextMenuKind.COLLECTION],
- [headCollectionUuid, false, false, true, ContextMenuKind.READONLY_COLLECTION],
- [headCollectionUuid, false, false, false, ContextMenuKind.READONLY_COLLECTION],
- [headCollectionUuid, true, true, true, ContextMenuKind.TRASHED_COLLECTION],
- [headCollectionUuid, true, true, false, ContextMenuKind.COLLECTION_ADMIN],
- [headCollectionUuid, true, false, true, ContextMenuKind.TRASHED_COLLECTION],
- [headCollectionUuid, true, false, false, ContextMenuKind.COLLECTION_ADMIN],
+ // resourceUuid, isAdminUser, isEditable, isTrashed, inFilterGroup, expected
+ [headCollectionUuid, false, true, true, false, ContextMenuKind.TRASHED_COLLECTION],
+ [headCollectionUuid, false, true, false, false, ContextMenuKind.COLLECTION],
+ [headCollectionUuid, false, true, false, true, ContextMenuKind.READONLY_COLLECTION],
+ [headCollectionUuid, false, false, true, false, ContextMenuKind.READONLY_COLLECTION],
+ [headCollectionUuid, false, false, false, false, ContextMenuKind.READONLY_COLLECTION],
+ [headCollectionUuid, true, true, true, false, ContextMenuKind.TRASHED_COLLECTION],
+ [headCollectionUuid, true, true, false, false, ContextMenuKind.COLLECTION_ADMIN],
+ [headCollectionUuid, true, false, true, false, ContextMenuKind.TRASHED_COLLECTION],
+ [headCollectionUuid, true, false, false, false, ContextMenuKind.COLLECTION_ADMIN],
+ [headCollectionUuid, true, false, false, true, ContextMenuKind.READONLY_COLLECTION],
- [oldCollectionUuid, false, true, true, ContextMenuKind.OLD_VERSION_COLLECTION],
- [oldCollectionUuid, false, true, false, ContextMenuKind.OLD_VERSION_COLLECTION],
- [oldCollectionUuid, false, false, true, ContextMenuKind.OLD_VERSION_COLLECTION],
- [oldCollectionUuid, false, false, false, ContextMenuKind.OLD_VERSION_COLLECTION],
- [oldCollectionUuid, true, true, true, ContextMenuKind.OLD_VERSION_COLLECTION],
- [oldCollectionUuid, true, true, false, ContextMenuKind.OLD_VERSION_COLLECTION],
- [oldCollectionUuid, true, false, true, ContextMenuKind.OLD_VERSION_COLLECTION],
- [oldCollectionUuid, true, false, false, ContextMenuKind.OLD_VERSION_COLLECTION],
+ [oldCollectionUuid, false, true, true, false, ContextMenuKind.OLD_VERSION_COLLECTION],
+ [oldCollectionUuid, false, true, false, false, ContextMenuKind.OLD_VERSION_COLLECTION],
+ [oldCollectionUuid, false, false, true, false, ContextMenuKind.OLD_VERSION_COLLECTION],
+ [oldCollectionUuid, false, false, false, false, ContextMenuKind.OLD_VERSION_COLLECTION],
+ [oldCollectionUuid, true, true, true, false, ContextMenuKind.OLD_VERSION_COLLECTION],
+ [oldCollectionUuid, true, true, false, false, ContextMenuKind.OLD_VERSION_COLLECTION],
+ [oldCollectionUuid, true, false, true, false, ContextMenuKind.OLD_VERSION_COLLECTION],
+ [oldCollectionUuid, true, false, false, false, ContextMenuKind.OLD_VERSION_COLLECTION],
// FIXME: WB2 doesn't currently have context menu for trashed projects
- // [projectUuid, false, true, true, ContextMenuKind.TRASHED_PROJECT],
- [projectUuid, false, true, false, ContextMenuKind.PROJECT],
- [projectUuid, false, false, true, ContextMenuKind.READONLY_PROJECT],
- [projectUuid, false, false, false, ContextMenuKind.READONLY_PROJECT],
- // [projectUuid, true, true, true, ContextMenuKind.TRASHED_PROJECT],
- [projectUuid, true, true, false, ContextMenuKind.PROJECT_ADMIN],
- // [projectUuid, true, false, true, ContextMenuKind.TRASHED_PROJECT],
- [projectUuid, true, false, false, ContextMenuKind.PROJECT_ADMIN],
+ // [projectUuid, false, true, true, false, ContextMenuKind.TRASHED_PROJECT],
+ [projectUuid, false, true, false, false, ContextMenuKind.PROJECT],
+ [projectUuid, false, true, false, true, ContextMenuKind.READONLY_PROJECT],
+ [projectUuid, false, false, true, false, ContextMenuKind.READONLY_PROJECT],
+ [projectUuid, false, false, false, false, ContextMenuKind.READONLY_PROJECT],
+ // [projectUuid, true, true, true, false, ContextMenuKind.TRASHED_PROJECT],
+ [projectUuid, true, true, false, false, ContextMenuKind.PROJECT_ADMIN],
+ // [projectUuid, true, false, true, false, ContextMenuKind.TRASHED_PROJECT],
+ [projectUuid, true, false, false, false, ContextMenuKind.PROJECT_ADMIN],
+ [projectUuid, true, false, false, true, ContextMenuKind.READONLY_PROJECT],
- [linkUuid, false, true, true, ContextMenuKind.LINK],
- [linkUuid, false, true, false, ContextMenuKind.LINK],
- [linkUuid, false, false, true, ContextMenuKind.LINK],
- [linkUuid, false, false, false, ContextMenuKind.LINK],
- [linkUuid, true, true, true, ContextMenuKind.LINK],
- [linkUuid, true, true, false, ContextMenuKind.LINK],
- [linkUuid, true, false, true, ContextMenuKind.LINK],
- [linkUuid, true, false, false, ContextMenuKind.LINK],
+ [linkUuid, false, true, true, false, ContextMenuKind.LINK],
+ [linkUuid, false, true, false, false, ContextMenuKind.LINK],
+ [linkUuid, false, false, true, false, ContextMenuKind.LINK],
+ [linkUuid, false, false, false, false, ContextMenuKind.LINK],
+ [linkUuid, true, true, true, false, ContextMenuKind.LINK],
+ [linkUuid, true, true, false, false, ContextMenuKind.LINK],
+ [linkUuid, true, false, true, false, ContextMenuKind.LINK],
+ [linkUuid, true, false, false, false, ContextMenuKind.LINK],
- [userUuid, false, true, true, ContextMenuKind.ROOT_PROJECT],
- [userUuid, false, true, false, ContextMenuKind.ROOT_PROJECT],
- [userUuid, false, false, true, ContextMenuKind.ROOT_PROJECT],
- [userUuid, false, false, false, ContextMenuKind.ROOT_PROJECT],
- [userUuid, true, true, true, ContextMenuKind.ROOT_PROJECT],
- [userUuid, true, true, false, ContextMenuKind.ROOT_PROJECT],
- [userUuid, true, false, true, ContextMenuKind.ROOT_PROJECT],
- [userUuid, true, false, false, ContextMenuKind.ROOT_PROJECT],
+ [userUuid, false, true, true, false, ContextMenuKind.ROOT_PROJECT],
+ [userUuid, false, true, false, false, ContextMenuKind.ROOT_PROJECT],
+ [userUuid, false, false, true, false, ContextMenuKind.ROOT_PROJECT],
+ [userUuid, false, false, false, false, ContextMenuKind.ROOT_PROJECT],
+ [userUuid, true, true, true, false, ContextMenuKind.ROOT_PROJECT],
+ [userUuid, true, true, false, false, ContextMenuKind.ROOT_PROJECT],
+ [userUuid, true, false, true, false, ContextMenuKind.ROOT_PROJECT],
+ [userUuid, true, false, false, false, ContextMenuKind.ROOT_PROJECT],
- [containerRequestUuid, false, true, true, ContextMenuKind.PROCESS_RESOURCE],
- [containerRequestUuid, false, true, false, ContextMenuKind.PROCESS_RESOURCE],
- [containerRequestUuid, false, false, true, ContextMenuKind.PROCESS_RESOURCE],
- [containerRequestUuid, false, false, false, ContextMenuKind.PROCESS_RESOURCE],
- [containerRequestUuid, true, true, true, ContextMenuKind.PROCESS_ADMIN],
- [containerRequestUuid, true, true, false, ContextMenuKind.PROCESS_ADMIN],
- [containerRequestUuid, true, false, true, ContextMenuKind.PROCESS_ADMIN],
- [containerRequestUuid, true, false, false, ContextMenuKind.PROCESS_ADMIN],
+ [containerRequestUuid, false, true, true, false, ContextMenuKind.PROCESS_RESOURCE],
+ [containerRequestUuid, false, true, false, false, ContextMenuKind.PROCESS_RESOURCE],
+ [containerRequestUuid, false, false, true, false, ContextMenuKind.PROCESS_RESOURCE],
+ [containerRequestUuid, false, false, false, false, ContextMenuKind.PROCESS_RESOURCE],
+ [containerRequestUuid, false, false, false, true, ContextMenuKind.READONLY_PROCESS_RESOURCE],
+ [containerRequestUuid, true, true, true, false, ContextMenuKind.PROCESS_ADMIN],
+ [containerRequestUuid, true, true, false, false, ContextMenuKind.PROCESS_ADMIN],
+ [containerRequestUuid, true, false, true, false, ContextMenuKind.PROCESS_ADMIN],
+ [containerRequestUuid, true, false, false, false, ContextMenuKind.PROCESS_ADMIN],
+ [containerRequestUuid, true, false, false, true, ContextMenuKind.READONLY_PROCESS_RESOURCE],
]
- cases.forEach(([resourceUuid, isAdminUser, isEditable, isTrashed, expected]) => {
+ cases.forEach(([resourceUuid, isAdminUser, isEditable, isTrashed, inFilterGroup, expected]) => {
const initialState = {
properties: {
[PROJECT_PANEL_CURRENT_UUID]: projectUuid,
writableBy: isEditable ? [userUuid] : [otherUserUuid],
groupClass: GroupClass.PROJECT,
},
+ [filterGroupUuid]: {
+ uuid: filterGroupUuid,
+ ownerUuid: isEditable ? userUuid : otherUserUuid,
+ writableBy: isEditable ? [userUuid] : [otherUserUuid],
+ groupClass: GroupClass.FILTER,
+ },
[linkUuid]: {
uuid: linkUuid,
},
isAdmin: isAdminUser,
},
},
+ properties: {
+ projectPanelCurrentUuid: inFilterGroup ? filterGroupUuid : "",
+ },
+ router: {
+ location: {
+ pathname: inFilterGroup ? "/projects/" + filterGroupUuid : "",
+ },
+ },
};
const store = mockStore(initialState);
});
});
});
-});
\ No newline at end of file
+});