Skip to content

Commit c00c4a2

Browse files
committed
test: add them
1 parent e6b6ba1 commit c00c4a2

File tree

2 files changed

+36
-1
lines changed

2 files changed

+36
-1
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import { displayStringEnum } from './display-string-enum';
2+
3+
describe('Display string enum', () => {
4+
const enum TestEnum {
5+
Flat = 'flatcase',
6+
UpperFlat = 'UPPERFLATCASE',
7+
Camel = 'camelCase',
8+
Pascal = 'PascalCase',
9+
Snake = 'snake_case',
10+
PascalSnake = 'Pascal_Snake_Case',
11+
Kabob = 'kabob-case',
12+
Train = 'Train-Case',
13+
Macro = 'MACRO_CASE',
14+
MacroTrain = 'MACRO-TRAIN-CASE'
15+
}
16+
17+
test('can convert to display string', () => {
18+
expect(displayStringEnum(undefined)).toBe('-');
19+
expect(displayStringEnum('a')).toBe('A');
20+
expect(displayStringEnum(TestEnum.Flat)).toBe('Flatcase');
21+
expect(displayStringEnum(TestEnum.UpperFlat)).toBe('Upperflatcase');
22+
expect(displayStringEnum(TestEnum.Camel)).toBe('Camel case');
23+
expect(displayStringEnum(TestEnum.Pascal)).toBe('Pascal case');
24+
expect(displayStringEnum(TestEnum.Snake)).toBe('Snake case');
25+
expect(displayStringEnum(TestEnum.PascalSnake)).toBe('Pascal snake case');
26+
expect(displayStringEnum(TestEnum.Kabob)).toBe('Kabob case');
27+
expect(displayStringEnum(TestEnum.Train)).toBe('Train case');
28+
expect(displayStringEnum(TestEnum.Macro)).toBe('Macro case');
29+
expect(displayStringEnum(TestEnum.MacroTrain)).toBe('Macro train case');
30+
});
31+
});

projects/common/src/utilities/formatters/enum/display-string-enum.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,9 @@ export const displayStringEnum = (provided?: string): string => {
55
return '-';
66
}
77

8-
return startCase(provided.toLowerCase());
8+
// This removes dashes and underscores and gives all words initial caps
9+
const startCased = startCase(provided);
10+
11+
// We only want the first word capitalized.
12+
return `${startCased[0]}${startCased.substr(1).toLowerCase()}`;
913
};

0 commit comments

Comments
 (0)