blob: 44260d8adf6cb59af67e044b3d6506fa84d7f9b8 [file] [log] [blame]
Matteo Scandolod58d5042016-12-16 16:59:21 -08001import * as angular from 'angular';
2import 'angular-mocks';
3import 'angular-ui-router';
4
5import {IXosConfigHelpersService} from './config.helpers';
6import {xosCore} from '../../index';
7
8let service: IXosConfigHelpersService;
9describe('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'];
53 expect(service.toLabel(strings)).toEqual(labels);
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'];
59 expect(service.toLabel(strings, true)).toEqual(labels);
60 });
61 });
62
63});