Matteo Scandolo | d58d504 | 2016-12-16 16:59:21 -0800 | [diff] [blame] | 1 | import * as angular from 'angular'; |
| 2 | import 'angular-mocks'; |
| 3 | import 'angular-ui-router'; |
| 4 | |
| 5 | import {IXosConfigHelpersService} from './config.helpers'; |
| 6 | import {xosCore} from '../../index'; |
| 7 | |
| 8 | let service: IXosConfigHelpersService; |
| 9 | describe('The ConfigHelpers service', () => { |
| 10 | |
| 11 | beforeEach(angular.mock.module(xosCore)); |
| 12 | |
| 13 | beforeEach(angular.mock.inject(( |
| 14 | ConfigHelpers: IXosConfigHelpersService, |
| 15 | ) => { |
| 16 | service = ConfigHelpers; |
| 17 | })); |
| 18 | |
| 19 | describe('The pluralize function', () => { |
| 20 | it('should pluralize string', () => { |
| 21 | expect(service.pluralize('test')).toEqual('tests'); |
| 22 | expect(service.pluralize('test', 1)).toEqual('test'); |
| 23 | expect(service.pluralize('xos')).toEqual('xosses'); |
| 24 | expect(service.pluralize('slice')).toEqual('slices'); |
| 25 | }); |
| 26 | |
| 27 | it('should preprend count to string', () => { |
| 28 | expect(service.pluralize('test', 6, true)).toEqual('6 tests'); |
| 29 | expect(service.pluralize('test', 1, true)).toEqual('1 test'); |
| 30 | }); |
| 31 | }); |
| 32 | |
| 33 | describe('the label formatter', () => { |
| 34 | it('should format a camel case string', () => { |
| 35 | expect(service.toLabel('camelCase')).toEqual('Camel case'); |
| 36 | }); |
| 37 | |
| 38 | it('should format a snake case string', () => { |
| 39 | expect(service.toLabel('snake_case')).toEqual('Snake case'); |
| 40 | }); |
| 41 | |
| 42 | it('should format a kebab case string', () => { |
| 43 | expect(service.toLabel('kebab-case')).toEqual('Kebab case'); |
| 44 | }); |
| 45 | |
| 46 | it('should set plural', () => { |
| 47 | expect(service.toLabel('kebab-case', true)).toEqual('Kebab cases'); |
| 48 | }); |
| 49 | |
| 50 | it('should format an array of strings', () => { |
| 51 | let strings: string[] = ['camelCase', 'snake_case', 'kebab-case']; |
| 52 | let labels = ['Camel case', 'Snake case', 'Kebab case']; |
Matteo Scandolo | e0d71ea | 2016-12-19 11:56:12 -0800 | [diff] [blame] | 53 | expect(service.toLabels(strings)).toEqual(labels); |
Matteo Scandolo | d58d504 | 2016-12-16 16:59:21 -0800 | [diff] [blame] | 54 | }); |
| 55 | |
| 56 | it('should set plural on an array of strings', () => { |
| 57 | let strings: string[] = ['camelCase', 'snake_case', 'kebab-case']; |
| 58 | let labels = ['Camel cases', 'Snake cases', 'Kebab cases']; |
Matteo Scandolo | e0d71ea | 2016-12-19 11:56:12 -0800 | [diff] [blame] | 59 | expect(service.toLabels(strings, true)).toEqual(labels); |
Matteo Scandolo | d58d504 | 2016-12-16 16:59:21 -0800 | [diff] [blame] | 60 | }); |
| 61 | }); |
| 62 | |
| 63 | }); |