Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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);
+ });
+});