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/lib/utils/common_utils_spec.js')
-rw-r--r--spec/frontend/lib/utils/common_utils_spec.js111
1 files changed, 79 insertions, 32 deletions
diff --git a/spec/frontend/lib/utils/common_utils_spec.js b/spec/frontend/lib/utils/common_utils_spec.js
index 08ba78cddff..7b068f7d248 100644
--- a/spec/frontend/lib/utils/common_utils_spec.js
+++ b/spec/frontend/lib/utils/common_utils_spec.js
@@ -1,5 +1,4 @@
import * as commonUtils from '~/lib/utils/common_utils';
-import setWindowLocation from 'helpers/set_window_location_helper';
describe('common_utils', () => {
describe('getPagePath', () => {
@@ -623,6 +622,23 @@ describe('common_utils', () => {
milestones: ['12.3', '12.4'],
},
},
+ convertObjectPropsToLowerCase: {
+ obj: {
+ 'Project-Name': 'GitLab CE',
+ 'Group-Name': 'GitLab.org',
+ 'License-Type': 'MIT',
+ 'Mile-Stones': ['12.3', '12.4'],
+ },
+ objNested: {
+ 'Project-Name': 'GitLab CE',
+ 'Group-Name': 'GitLab.org',
+ 'License-Type': 'MIT',
+ 'Tech-Stack': {
+ 'Frontend-Framework': 'Vue',
+ },
+ 'Mile-Stones': ['12.3', '12.4'],
+ },
+ },
};
describe('convertObjectProps', () => {
@@ -638,6 +654,7 @@ describe('common_utils', () => {
${'convertObjectProps'} | ${mockObjects.convertObjectProps.obj} | ${mockObjects.convertObjectProps.objNested}
${'convertObjectPropsToCamelCase'} | ${mockObjects.convertObjectPropsToCamelCase.obj} | ${mockObjects.convertObjectPropsToCamelCase.objNested}
${'convertObjectPropsToSnakeCase'} | ${mockObjects.convertObjectPropsToSnakeCase.obj} | ${mockObjects.convertObjectPropsToSnakeCase.objNested}
+ ${'convertObjectPropsToLowerCase'} | ${mockObjects.convertObjectPropsToLowerCase.obj} | ${mockObjects.convertObjectPropsToLowerCase.objNested}
`('$functionName', ({ functionName, mockObj, mockObjNested }) => {
const testFunction =
functionName === 'convertObjectProps'
@@ -671,6 +688,12 @@ describe('common_utils', () => {
absolute_web_url: 'https://gitlab.com/gitlab-org/',
milestones: ['12.3', '12.4'],
},
+ convertObjectPropsToLowerCase: {
+ 'project-name': 'GitLab CE',
+ 'group-name': 'GitLab.org',
+ 'license-type': 'MIT',
+ 'mile-stones': ['12.3', '12.4'],
+ },
};
expect(testFunction(mockObj)).toEqual(expected[functionName]);
@@ -711,6 +734,15 @@ describe('common_utils', () => {
},
milestones: ['12.3', '12.4'],
},
+ convertObjectPropsToLowerCase: {
+ 'project-name': 'GitLab CE',
+ 'group-name': 'GitLab.org',
+ 'license-type': 'MIT',
+ 'tech-stack': {
+ 'Frontend-Framework': 'Vue',
+ },
+ 'mile-stones': ['12.3', '12.4'],
+ },
};
expect(testFunction(mockObjNested)).toEqual(expected[functionName]);
@@ -752,6 +784,15 @@ describe('common_utils', () => {
},
milestones: ['12.3', '12.4'],
},
+ convertObjectPropsToLowerCase: {
+ 'project-name': 'GitLab CE',
+ 'group-name': 'GitLab.org',
+ 'license-type': 'MIT',
+ 'tech-stack': {
+ 'frontend-framework': 'Vue',
+ },
+ 'mile-stones': ['12.3', '12.4'],
+ },
};
it('converts nested objects', () => {
@@ -802,6 +843,15 @@ describe('common_utils', () => {
},
milestones: ['12.3', '12.4'],
},
+ convertObjectPropsToLowerCase: {
+ 'project-name': 'GitLab CE',
+ 'group-name': 'GitLab.org',
+ 'license-type': 'MIT',
+ 'tech-stack': {
+ 'Frontend-Framework': 'Vue',
+ },
+ 'mile-stones': ['12.3', '12.4'],
+ },
};
const dropKeys = {
@@ -846,12 +896,20 @@ describe('common_utils', () => {
},
milestones: ['12.3', '12.4'],
},
+ convertObjectPropsToLowerCase: {
+ 'project-name': 'GitLab CE',
+ 'tech-stack': {
+ 'frontend-framework': 'Vue',
+ },
+ 'mile-stones': ['12.3', '12.4'],
+ },
};
const dropKeys = {
convertObjectProps: ['group_name', 'database'],
convertObjectPropsToCamelCase: ['group_name', 'database'],
convertObjectPropsToSnakeCase: ['groupName', 'database'],
+ convertObjectPropsToLowerCase: ['Group-Name', 'License-Type'],
};
expect(
@@ -899,12 +957,22 @@ describe('common_utils', () => {
},
milestones: ['12.3', '12.4'],
},
+ convertObjectPropsToLowerCase: {
+ 'project-name': 'GitLab CE',
+ 'Group-Name': 'GitLab.org',
+ 'license-type': 'MIT',
+ 'tech-stack': {
+ 'Frontend-Framework': 'Vue',
+ },
+ 'mile-stones': ['12.3', '12.4'],
+ },
};
const ignoreKeyNames = {
convertObjectProps: ['group_name'],
convertObjectPropsToCamelCase: ['group_name'],
convertObjectPropsToSnakeCase: ['groupName'],
+ convertObjectPropsToLowerCase: ['Group-Name'],
};
expect(
@@ -949,12 +1017,22 @@ describe('common_utils', () => {
},
milestones: ['12.3', '12.4'],
},
+ convertObjectPropsToLowerCase: {
+ 'project-name': 'GitLab CE',
+ 'group-name': 'GitLab.org',
+ 'license-type': 'MIT',
+ 'tech-stack': {
+ 'Frontend-Framework': 'Vue',
+ },
+ 'mile-stones': ['12.3', '12.4'],
+ },
};
const ignoreKeyNames = {
convertObjectProps: ['group_name', 'frontend_framework'],
convertObjectPropsToCamelCase: ['group_name', 'frontend_framework'],
convertObjectPropsToSnakeCase: ['groupName', 'frontendFramework'],
+ convertObjectPropsToLowerCase: ['Frontend-Framework'],
};
expect(
@@ -1070,35 +1148,4 @@ describe('common_utils', () => {
expect(result).toEqual([{ hello: '' }, { helloWorld: '' }]);
});
});
-
- describe('useNewFonts', () => {
- let beforeGon;
- const beforeLocation = window.location.href;
-
- beforeEach(() => {
- window.gon = window.gon || {};
- beforeGon = { ...window.gon };
- });
-
- describe.each`
- featureFlag | queryParameter | fontEnabled
- ${false} | ${false} | ${false}
- ${true} | ${false} | ${true}
- ${false} | ${true} | ${true}
- `('new font', ({ featureFlag, queryParameter, fontEnabled }) => {
- it(`will ${fontEnabled ? '' : 'NOT '}be applied when feature flag is ${
- featureFlag ? '' : 'NOT '
- }set and query parameter is ${queryParameter ? '' : 'NOT '}present`, () => {
- const search = queryParameter ? `?new_fonts` : '';
- setWindowLocation(search);
- window.gon = { features: { newFonts: featureFlag } };
- expect(commonUtils.useNewFonts()).toBe(fontEnabled);
- });
- });
-
- afterEach(() => {
- window.gon = beforeGon;
- setWindowLocation(beforeLocation);
- });
- });
});