From f288fd05f404b8275974f5f82b738dd354ea8429 Mon Sep 17 00:00:00 2001 From: Ward Vandewege Date: Fri, 19 Mar 2021 09:30:55 -0400 Subject: [PATCH] 17119: add more unit tests. Arvados-DCO-1.1-Signed-off-by: Ward Vandewege --- .../context-menu/context-menu-actions.test.ts | 123 ++++++++++-------- 1 file changed, 72 insertions(+), 51 deletions(-) diff --git a/src/store/context-menu/context-menu-actions.test.ts b/src/store/context-menu/context-menu-actions.test.ts index 2f4f38b3..c566e4ac 100644 --- a/src/store/context-menu/context-menu-actions.test.ts +++ b/src/store/context-menu/context-menu-actions.test.ts @@ -18,69 +18,76 @@ describe('context-menu-actions', () => { 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, @@ -103,6 +110,12 @@ describe('context-menu-actions', () => { writableBy: isEditable ? [userUuid] : [otherUserUuid], groupClass: GroupClass.PROJECT, }, + [filterGroupUuid]: { + uuid: filterGroupUuid, + ownerUuid: isEditable ? userUuid : otherUserUuid, + writableBy: isEditable ? [userUuid] : [otherUserUuid], + groupClass: GroupClass.FILTER, + }, [linkUuid]: { uuid: linkUuid, }, @@ -120,6 +133,14 @@ describe('context-menu-actions', () => { isAdmin: isAdminUser, }, }, + properties: { + projectPanelCurrentUuid: inFilterGroup ? filterGroupUuid : "", + }, + router: { + location: { + pathname: inFilterGroup ? "/projects/" + filterGroupUuid : "", + }, + }, }; const store = mockStore(initialState); @@ -133,4 +154,4 @@ describe('context-menu-actions', () => { }); }); }); -}); \ No newline at end of file +}); -- 2.30.2