summaryrefslogtreecommitdiff
path: root/spec/frontend/graphql_shared/utils_spec.js
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-01-25 00:11:15 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2023-01-25 00:11:15 +0000
commitce545ca5d74c9eabf6f2412c1332820c81342271 (patch)
tree33063c2e1b75b22797cd837623e19ca1c0bddd59 /spec/frontend/graphql_shared/utils_spec.js
parentba0d8b409534f02c23bf2447fd32246926ba4392 (diff)
downloadgitlab-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.js26
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);
+ });
+});