summaryrefslogtreecommitdiff
path: root/spec/javascripts/lib
diff options
context:
space:
mode:
authorWinnie Hellmann <winnie@gitlab.com>2019-03-23 17:52:35 +0100
committerWinnie Hellmann <winnie@gitlab.com>2019-03-23 17:53:46 +0100
commit514ee63826e47229bfd03bdbb740f2dd1eae1d03 (patch)
tree3f0d96a4402e8aa54c375084cc4c5e6cf546824b /spec/javascripts/lib
parent6d330015dfdb1979a0773c87c53b84cc86b28a6d (diff)
downloadgitlab-ce-514ee63826e47229bfd03bdbb740f2dd1eae1d03.tar.gz
Move some tests from Karma to Jest
Diffstat (limited to 'spec/javascripts/lib')
-rw-r--r--spec/javascripts/lib/utils/cache_spec.js65
-rw-r--r--spec/javascripts/lib/utils/grammar_spec.js35
-rw-r--r--spec/javascripts/lib/utils/image_utility_spec.js32
-rw-r--r--spec/javascripts/lib/utils/number_utility_spec.js101
-rw-r--r--spec/javascripts/lib/utils/text_utility_spec.js154
5 files changed, 0 insertions, 387 deletions
diff --git a/spec/javascripts/lib/utils/cache_spec.js b/spec/javascripts/lib/utils/cache_spec.js
deleted file mode 100644
index 2fe02a7592c..00000000000
--- a/spec/javascripts/lib/utils/cache_spec.js
+++ /dev/null
@@ -1,65 +0,0 @@
-import Cache from '~/lib/utils/cache';
-
-describe('Cache', () => {
- const dummyKey = 'just some key';
- const dummyValue = 'more than a value';
- let cache;
-
- beforeEach(() => {
- cache = new Cache();
- });
-
- describe('get', () => {
- it('return cached data', () => {
- cache.internalStorage[dummyKey] = dummyValue;
-
- expect(cache.get(dummyKey)).toBe(dummyValue);
- });
-
- it('returns undefined for missing data', () => {
- expect(cache.internalStorage[dummyKey]).toBe(undefined);
- expect(cache.get(dummyKey)).toBe(undefined);
- });
- });
-
- describe('hasData', () => {
- it('return true for cached data', () => {
- cache.internalStorage[dummyKey] = dummyValue;
-
- expect(cache.hasData(dummyKey)).toBe(true);
- });
-
- it('returns false for missing data', () => {
- expect(cache.internalStorage[dummyKey]).toBe(undefined);
- expect(cache.hasData(dummyKey)).toBe(false);
- });
- });
-
- describe('remove', () => {
- it('removes data from cache', () => {
- cache.internalStorage[dummyKey] = dummyValue;
-
- cache.remove(dummyKey);
-
- expect(cache.internalStorage[dummyKey]).toBe(undefined);
- });
-
- it('does nothing for missing data', () => {
- expect(cache.internalStorage[dummyKey]).toBe(undefined);
-
- cache.remove(dummyKey);
-
- expect(cache.internalStorage[dummyKey]).toBe(undefined);
- });
-
- it('does not remove wrong data', () => {
- cache.internalStorage[dummyKey] = dummyValue;
- cache.internalStorage[dummyKey + dummyKey] = dummyValue + dummyValue;
-
- cache.remove(dummyKey);
-
- expect(cache.internalStorage[dummyKey]).toBe(undefined);
- expect(cache.internalStorage[dummyKey + dummyKey]).toBe(dummyValue + dummyValue);
- });
- });
-});
diff --git a/spec/javascripts/lib/utils/grammar_spec.js b/spec/javascripts/lib/utils/grammar_spec.js
deleted file mode 100644
index 377b2ffb48c..00000000000
--- a/spec/javascripts/lib/utils/grammar_spec.js
+++ /dev/null
@@ -1,35 +0,0 @@
-import * as grammar from '~/lib/utils/grammar';
-
-describe('utils/grammar', () => {
- describe('toNounSeriesText', () => {
- it('with empty items returns empty string', () => {
- expect(grammar.toNounSeriesText([])).toBe('');
- });
-
- it('with single item returns item', () => {
- const items = ['Lorem Ipsum'];
-
- expect(grammar.toNounSeriesText(items)).toBe(items[0]);
- });
-
- it('with 2 items returns item1 and item2', () => {
- const items = ['Dolar', 'Sit Amit'];
-
- expect(grammar.toNounSeriesText(items)).toBe(`${items[0]} and ${items[1]}`);
- });
-
- it('with 3 items returns comma separated series', () => {
- const items = ['Lorem', 'Ipsum', 'dolar'];
- const expected = 'Lorem, Ipsum, and dolar';
-
- expect(grammar.toNounSeriesText(items)).toBe(expected);
- });
-
- it('with 6 items returns comma separated series', () => {
- const items = ['Lorem', 'ipsum', 'dolar', 'sit', 'amit', 'consectetur'];
- const expected = 'Lorem, ipsum, dolar, sit, amit, and consectetur';
-
- expect(grammar.toNounSeriesText(items)).toBe(expected);
- });
- });
-});
diff --git a/spec/javascripts/lib/utils/image_utility_spec.js b/spec/javascripts/lib/utils/image_utility_spec.js
deleted file mode 100644
index a7eff419fba..00000000000
--- a/spec/javascripts/lib/utils/image_utility_spec.js
+++ /dev/null
@@ -1,32 +0,0 @@
-import { isImageLoaded } from '~/lib/utils/image_utility';
-
-describe('imageUtility', () => {
- describe('isImageLoaded', () => {
- it('should return false when image.complete is false', () => {
- const element = {
- complete: false,
- naturalHeight: 100,
- };
-
- expect(isImageLoaded(element)).toEqual(false);
- });
-
- it('should return false when naturalHeight = 0', () => {
- const element = {
- complete: true,
- naturalHeight: 0,
- };
-
- expect(isImageLoaded(element)).toEqual(false);
- });
-
- it('should return true when image.complete and naturalHeight != 0', () => {
- const element = {
- complete: true,
- naturalHeight: 100,
- };
-
- expect(isImageLoaded(element)).toEqual(true);
- });
- });
-});
diff --git a/spec/javascripts/lib/utils/number_utility_spec.js b/spec/javascripts/lib/utils/number_utility_spec.js
deleted file mode 100644
index 818404bad81..00000000000
--- a/spec/javascripts/lib/utils/number_utility_spec.js
+++ /dev/null
@@ -1,101 +0,0 @@
-import {
- formatRelevantDigits,
- bytesToKiB,
- bytesToMiB,
- bytesToGiB,
- numberToHumanSize,
- sum,
-} from '~/lib/utils/number_utils';
-
-describe('Number Utils', () => {
- describe('formatRelevantDigits', () => {
- it('returns an empty string when the number is NaN', () => {
- expect(formatRelevantDigits('fail')).toBe('');
- });
-
- it('returns 4 decimals when there is 4 plus digits to the left', () => {
- const formattedNumber = formatRelevantDigits('1000.1234567');
- const rightFromDecimal = formattedNumber.split('.')[1];
- const leftFromDecimal = formattedNumber.split('.')[0];
-
- expect(rightFromDecimal.length).toBe(4);
- expect(leftFromDecimal.length).toBe(4);
- });
-
- it('returns 3 decimals when there is 1 digit to the left', () => {
- const formattedNumber = formatRelevantDigits('0.1234567');
- const rightFromDecimal = formattedNumber.split('.')[1];
- const leftFromDecimal = formattedNumber.split('.')[0];
-
- expect(rightFromDecimal.length).toBe(3);
- expect(leftFromDecimal.length).toBe(1);
- });
-
- it('returns 2 decimals when there is 2 digits to the left', () => {
- const formattedNumber = formatRelevantDigits('10.1234567');
- const rightFromDecimal = formattedNumber.split('.')[1];
- const leftFromDecimal = formattedNumber.split('.')[0];
-
- expect(rightFromDecimal.length).toBe(2);
- expect(leftFromDecimal.length).toBe(2);
- });
-
- it('returns 1 decimal when there is 3 digits to the left', () => {
- const formattedNumber = formatRelevantDigits('100.1234567');
- const rightFromDecimal = formattedNumber.split('.')[1];
- const leftFromDecimal = formattedNumber.split('.')[0];
-
- expect(rightFromDecimal.length).toBe(1);
- expect(leftFromDecimal.length).toBe(3);
- });
- });
-
- describe('bytesToKiB', () => {
- it('calculates KiB for the given bytes', () => {
- expect(bytesToKiB(1024)).toEqual(1);
- expect(bytesToKiB(1000)).toEqual(0.9765625);
- });
- });
-
- describe('bytesToMiB', () => {
- it('calculates MiB for the given bytes', () => {
- expect(bytesToMiB(1048576)).toEqual(1);
- expect(bytesToMiB(1000000)).toEqual(0.95367431640625);
- });
- });
-
- describe('bytesToGiB', () => {
- it('calculates GiB for the given bytes', () => {
- expect(bytesToGiB(1073741824)).toEqual(1);
- expect(bytesToGiB(10737418240)).toEqual(10);
- });
- });
-
- describe('numberToHumanSize', () => {
- it('should return bytes', () => {
- expect(numberToHumanSize(654)).toEqual('654 bytes');
- });
-
- it('should return KiB', () => {
- expect(numberToHumanSize(1079)).toEqual('1.05 KiB');
- });
-
- it('should return MiB', () => {
- expect(numberToHumanSize(10485764)).toEqual('10.00 MiB');
- });
-
- it('should return GiB', () => {
- expect(numberToHumanSize(10737418240)).toEqual('10.00 GiB');
- });
- });
-
- describe('sum', () => {
- it('should add up two values', () => {
- expect(sum(1, 2)).toEqual(3);
- });
-
- it('should add up all the values in an array when passed to a reducer', () => {
- expect([1, 2, 3, 4, 5].reduce(sum)).toEqual(15);
- });
- });
-});
diff --git a/spec/javascripts/lib/utils/text_utility_spec.js b/spec/javascripts/lib/utils/text_utility_spec.js
deleted file mode 100644
index 0a266b19ea5..00000000000
--- a/spec/javascripts/lib/utils/text_utility_spec.js
+++ /dev/null
@@ -1,154 +0,0 @@
-import * as textUtils from '~/lib/utils/text_utility';
-
-describe('text_utility', () => {
- describe('addDelimiter', () => {
- it('should add a delimiter to the given string', () => {
- expect(textUtils.addDelimiter('1234')).toEqual('1,234');
- expect(textUtils.addDelimiter('222222')).toEqual('222,222');
- });
-
- it('should not add a delimiter if string contains no numbers', () => {
- expect(textUtils.addDelimiter('aaaa')).toEqual('aaaa');
- });
- });
-
- describe('highCountTrim', () => {
- it('returns 99+ for count >= 100', () => {
- expect(textUtils.highCountTrim(105)).toBe('99+');
- expect(textUtils.highCountTrim(100)).toBe('99+');
- });
-
- it('returns exact number for count < 100', () => {
- expect(textUtils.highCountTrim(45)).toBe(45);
- });
- });
-
- describe('capitalizeFirstCharacter', () => {
- it('returns string with first letter capitalized', () => {
- expect(textUtils.capitalizeFirstCharacter('gitlab')).toEqual('Gitlab');
- expect(textUtils.highCountTrim(105)).toBe('99+');
- expect(textUtils.highCountTrim(100)).toBe('99+');
- });
- });
-
- describe('humanize', () => {
- it('should remove underscores and uppercase the first letter', () => {
- expect(textUtils.humanize('foo_bar')).toEqual('Foo bar');
- });
- });
-
- describe('pluralize', () => {
- it('should pluralize given string', () => {
- expect(textUtils.pluralize('test', 2)).toBe('tests');
- });
-
- it('should pluralize when count is 0', () => {
- expect(textUtils.pluralize('test', 0)).toBe('tests');
- });
-
- it('should not pluralize when count is 1', () => {
- expect(textUtils.pluralize('test', 1)).toBe('test');
- });
- });
-
- describe('dasherize', () => {
- it('should replace underscores with dashes', () => {
- expect(textUtils.dasherize('foo_bar_foo')).toEqual('foo-bar-foo');
- });
- });
-
- describe('slugify', () => {
- it('should remove accents and convert to lower case', () => {
- expect(textUtils.slugify('João')).toEqual('joão');
- });
- });
-
- describe('slugifyWithHyphens', () => {
- it('should replaces whitespaces with hyphens and convert to lower case', () => {
- expect(textUtils.slugifyWithHyphens('My Input String')).toEqual('my-input-string');
- });
- });
-
- describe('stripHtml', () => {
- it('replaces html tag with the default replacement', () => {
- expect(textUtils.stripHtml('This is a text with <p>html</p>.')).toEqual(
- 'This is a text with html.',
- );
- });
-
- it('replaces html tags with the provided replacement', () => {
- expect(textUtils.stripHtml('This is a text with <p>html</p>.', ' ')).toEqual(
- 'This is a text with html .',
- );
- });
-
- it('passes through with null string input', () => {
- expect(textUtils.stripHtml(null, ' ')).toEqual(null);
- });
-
- it('passes through with undefined string input', () => {
- expect(textUtils.stripHtml(undefined, ' ')).toEqual(undefined);
- });
- });
-
- describe('convertToCamelCase', () => {
- it('converts snake_case string to camelCase string', () => {
- expect(textUtils.convertToCamelCase('snake_case')).toBe('snakeCase');
- });
- });
-
- describe('convertToSentenceCase', () => {
- it('converts Sentence Case to Sentence case', () => {
- expect(textUtils.convertToSentenceCase('Hello World')).toBe('Hello world');
- });
- });
-
- describe('truncateSha', () => {
- it('shortens SHAs to 8 characters', () => {
- expect(textUtils.truncateSha('verylongsha')).toBe('verylong');
- });
-
- it('leaves short SHAs as is', () => {
- expect(textUtils.truncateSha('shortsha')).toBe('shortsha');
- });
- });
-
- describe('splitCamelCase', () => {
- it('separates a PascalCase word to two', () => {
- expect(textUtils.splitCamelCase('HelloWorld')).toBe('Hello World');
- });
- });
-
- describe('getFirstCharacterCapitalized', () => {
- it('returns the first character capitalized, if first character is alphabetic', () => {
- expect(textUtils.getFirstCharacterCapitalized('loremIpsumDolar')).toEqual('L');
- expect(textUtils.getFirstCharacterCapitalized('Sit amit !')).toEqual('S');
- });
-
- it('returns the first character, if first character is non-alphabetic', () => {
- expect(textUtils.getFirstCharacterCapitalized(' lorem')).toEqual(' ');
- expect(textUtils.getFirstCharacterCapitalized('%#!')).toEqual('%');
- });
-
- it('returns an empty string, if string is falsey', () => {
- expect(textUtils.getFirstCharacterCapitalized('')).toEqual('');
- expect(textUtils.getFirstCharacterCapitalized(null)).toEqual('');
- });
- });
-
- describe('truncatePathMiddleToLength', () => {
- it('does not truncate text', () => {
- expect(textUtils.truncatePathMiddleToLength('app/test', 50)).toEqual('app/test');
- });
-
- it('truncates middle of the path', () => {
- expect(textUtils.truncatePathMiddleToLength('app/test/diff', 13)).toEqual('app/…/diff');
- });
-
- it('truncates multiple times in the middle of the path', () => {
- expect(textUtils.truncatePathMiddleToLength('app/test/merge_request/diff', 13)).toEqual(
- 'app/…/…/diff',
- );
- });
- });
-});