diff options
author | Winnie Hellmann <winnie@gitlab.com> | 2019-03-23 19:52:35 +0300 |
---|---|---|
committer | Winnie Hellmann <winnie@gitlab.com> | 2019-03-23 19:53:46 +0300 |
commit | 514ee63826e47229bfd03bdbb740f2dd1eae1d03 (patch) | |
tree | 3f0d96a4402e8aa54c375084cc4c5e6cf546824b /spec/javascripts/lib | |
parent | 6d330015dfdb1979a0773c87c53b84cc86b28a6d (diff) |
Move some tests from Karma to Jest
Diffstat (limited to 'spec/javascripts/lib')
-rw-r--r-- | spec/javascripts/lib/utils/cache_spec.js | 65 | ||||
-rw-r--r-- | spec/javascripts/lib/utils/grammar_spec.js | 35 | ||||
-rw-r--r-- | spec/javascripts/lib/utils/image_utility_spec.js | 32 | ||||
-rw-r--r-- | spec/javascripts/lib/utils/number_utility_spec.js | 101 | ||||
-rw-r--r-- | spec/javascripts/lib/utils/text_utility_spec.js | 154 |
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', - ); - }); - }); -}); |