-
-
Notifications
You must be signed in to change notification settings - Fork 140
/
get-api-servers.spec.ts
60 lines (41 loc) · 1.2 KB
/
get-api-servers.spec.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
57
58
59
60
// std
import { deepStrictEqual, strictEqual } from 'assert';
// FoalTS
import { ApiServer } from '../decorators';
import { IApiServer } from '../interfaces';
import { getApiServers } from './get-api-servers';
describe('getApiServers', () => {
const server: IApiServer = {
url: 'http://example.com'
};
describe('when servers are defined, should return them', () => {
it('from a class.', () => {
@ApiServer(server)
class Controller {}
const actual = getApiServers(Controller);
deepStrictEqual(actual, [ server ]);
});
it('from a class method.', () => {
class Controller {
@ApiServer(server)
foo() {}
}
const actual = getApiServers(Controller, 'foo');
deepStrictEqual(actual, [ server ]);
});
});
describe('when no server is defined, should return undefined', () => {
it('from a class.', () => {
class Controller {}
const actual = getApiServers(Controller);
strictEqual(actual, undefined);
});
it('from a class method.', () => {
class Controller {
foo() {}
}
const actual = getApiServers(Controller, 'foo');
strictEqual(actual, undefined);
});
});
});