-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathAlias.unit.ts
56 lines (46 loc) · 1.45 KB
/
Alias.unit.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import { Alias } from './Alias';
import { AliasErrors } from './AliasErrors';
test(`Creation using a string`, () => {
const validData = {
value: 'test_alias',
};
const result = Alias.create(validData);
expect(result.isSuccess).toBe(true);
const alias = result.value;
expect(alias.value).toBe('test_alias');
});
test(`Creation using null`, () => {
const validData = {
value: null,
};
const result = Alias.create(validData);
expect(result.isSuccess).toBe(true);
const alias = result.value;
expect(alias.value).toBe(null);
});
test(`Creation fails with a short value`, () => {
const invalidData = {
value: '1',
};
const result = Alias.create(invalidData);
expect(result.isFailure).toBe(true);
expect(result.error).toBeInstanceOf(AliasErrors.TooShort);
});
test(`Creation fails with a long value`, () => {
const invalidData = {
value: '1234567890123456',
};
const result = Alias.create(invalidData);
expect(result.isFailure).toBe(true);
expect(result.error).toBeInstanceOf(AliasErrors.TooLong);
});
test(`Creation fails with invalid characters`, () => {
const invalidData = {
value: 'Alias123$%^&{',
};
const result = Alias.create(invalidData);
expect(result.isFailure).toBe(true);
expect(result.error).toBeInstanceOf(AliasErrors.InvalidCharacters);
const msg = (result.error as AliasErrors.InvalidCharacters).message;
expect('$%^&{'.split('').every((item) => msg.includes(item))).toBe(true);
});