diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-01-25 00:11:15 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-01-25 00:11:15 +0000 |
commit | ce545ca5d74c9eabf6f2412c1332820c81342271 (patch) | |
tree | 33063c2e1b75b22797cd837623e19ca1c0bddd59 /spec/frontend/graphql_shared/utils_spec.js | |
parent | ba0d8b409534f02c23bf2447fd32246926ba4392 (diff) | |
download | gitlab-ce-ce545ca5d74c9eabf6f2412c1332820c81342271.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'spec/frontend/graphql_shared/utils_spec.js')
-rw-r--r-- | spec/frontend/graphql_shared/utils_spec.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/spec/frontend/graphql_shared/utils_spec.js b/spec/frontend/graphql_shared/utils_spec.js index bf899e47d1c..cd334ef0d97 100644 --- a/spec/frontend/graphql_shared/utils_spec.js +++ b/spec/frontend/graphql_shared/utils_spec.js @@ -5,6 +5,7 @@ import { convertToGraphQLIds, convertFromGraphQLIds, convertNodeIdsFromGraphQLIds, + getNodesOrDefault, } from '~/graphql_shared/utils'; const mockType = 'Group'; @@ -134,3 +135,28 @@ describe('convertNodeIdsFromGraphQLIds', () => { ); }); }); + +describe('getNodesOrDefault', () => { + const mockDataWithNodes = { + users: { + nodes: [ + { __typename: 'UserCore', id: 'gid://gitlab/User/44' }, + { __typename: 'UserCore', id: 'gid://gitlab/User/42' }, + { __typename: 'UserCore', id: 'gid://gitlab/User/41' }, + ], + }, + }; + + it.each` + desc | input | expected + ${'with nodes child'} | ${[mockDataWithNodes.users]} | ${mockDataWithNodes.users.nodes} + ${'with nodes child and "dne" as field'} | ${[mockDataWithNodes.users, 'dne']} | ${[]} + ${'with empty data object'} | ${[{ users: {} }]} | ${[]} + ${'with empty object'} | ${[{}]} | ${[]} + ${'with falsy value'} | ${[undefined]} | ${[]} + `('$desc', ({ input, expected }) => { + const result = getNodesOrDefault(...input); + + expect(result).toEqual(expected); + }); +}); |