@voiceflow/api-sdk 3.27.34 → 3.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/build/cjs/client.d.ts +2 -1
- package/build/cjs/client.d.ts.map +1 -1
- package/build/cjs/fetch.d.ts +1 -1
- package/build/cjs/fetch.d.ts.map +1 -1
- package/build/cjs/index.d.ts +3 -2
- package/build/cjs/index.d.ts.map +1 -1
- package/build/cjs/publicClient.d.ts +3 -2
- package/build/cjs/publicClient.d.ts.map +1 -1
- package/build/cjs/resources/analytics/index.d.ts +1 -1
- package/build/cjs/resources/analytics/index.d.ts.map +1 -1
- package/build/cjs/resources/apiKey.d.ts +2 -2
- package/build/cjs/resources/apiKey.d.ts.map +1 -1
- package/build/cjs/resources/base.d.ts +4 -3
- package/build/cjs/resources/base.d.ts.map +1 -1
- package/build/cjs/resources/crud.d.ts +2 -1
- package/build/cjs/resources/crud.d.ts.map +1 -1
- package/build/cjs/resources/crudNested.d.ts +3 -2
- package/build/cjs/resources/crudNested.d.ts.map +1 -1
- package/build/cjs/resources/diagram.d.ts +2 -2
- package/build/cjs/resources/diagram.d.ts.map +1 -1
- package/build/cjs/resources/fetcher.d.ts +2 -2
- package/build/cjs/resources/fetcher.d.ts.map +1 -1
- package/build/cjs/resources/fetcher.js +3 -3
- package/build/cjs/resources/note.d.ts +3 -3
- package/build/cjs/resources/note.d.ts.map +1 -1
- package/build/cjs/resources/program.d.ts +3 -3
- package/build/cjs/resources/program.d.ts.map +1 -1
- package/build/cjs/resources/program.js +3 -1
- package/build/cjs/resources/project/index.d.ts +5 -5
- package/build/cjs/resources/project/index.d.ts.map +1 -1
- package/build/cjs/resources/project/interface.d.ts +1 -1
- package/build/cjs/resources/project/interface.d.ts.map +1 -1
- package/build/cjs/resources/project/interface.js +1 -1
- package/build/cjs/resources/project/member.d.ts +7 -5
- package/build/cjs/resources/project/member.d.ts.map +1 -1
- package/build/cjs/resources/projectSecret.d.ts +1 -1
- package/build/cjs/resources/projectSecret.d.ts.map +1 -1
- package/build/cjs/resources/user.d.ts.map +1 -1
- package/build/cjs/resources/variableState.d.ts +4 -4
- package/build/cjs/resources/variableState.d.ts.map +1 -1
- package/build/cjs/resources/version/canvasTemplate.d.ts +3 -3
- package/build/cjs/resources/version/canvasTemplate.d.ts.map +1 -1
- package/build/cjs/resources/version/diagram.d.ts +3 -3
- package/build/cjs/resources/version/diagram.d.ts.map +1 -1
- package/build/cjs/resources/version/domain.d.ts +3 -3
- package/build/cjs/resources/version/domain.d.ts.map +1 -1
- package/build/cjs/resources/version/index.d.ts +5 -5
- package/build/cjs/resources/version/index.d.ts.map +1 -1
- package/build/cjs/resources/version/program.d.ts +3 -3
- package/build/cjs/resources/version/program.d.ts.map +1 -1
- package/build/cjs/resources/version/prototypeProgram.d.ts +3 -3
- package/build/cjs/resources/version/prototypeProgram.d.ts.map +1 -1
- package/build/cjs/types.d.ts +7 -7
- package/build/cjs/types.d.ts.map +1 -1
- package/build/esm/client.d.ts +2 -1
- package/build/esm/client.d.ts.map +1 -1
- package/build/esm/fetch.d.ts +1 -1
- package/build/esm/fetch.d.ts.map +1 -1
- package/build/esm/index.d.ts +3 -2
- package/build/esm/index.d.ts.map +1 -1
- package/build/esm/publicClient.d.ts +3 -2
- package/build/esm/publicClient.d.ts.map +1 -1
- package/build/esm/publicClient.js +1 -1
- package/build/esm/resources/analytics/index.d.ts +1 -1
- package/build/esm/resources/analytics/index.d.ts.map +1 -1
- package/build/esm/resources/apiKey.d.ts +2 -2
- package/build/esm/resources/apiKey.d.ts.map +1 -1
- package/build/esm/resources/base.d.ts +4 -3
- package/build/esm/resources/base.d.ts.map +1 -1
- package/build/esm/resources/crud.d.ts +2 -1
- package/build/esm/resources/crud.d.ts.map +1 -1
- package/build/esm/resources/crudNested.d.ts +3 -2
- package/build/esm/resources/crudNested.d.ts.map +1 -1
- package/build/esm/resources/diagram.d.ts +2 -2
- package/build/esm/resources/diagram.d.ts.map +1 -1
- package/build/esm/resources/fetcher.d.ts +2 -2
- package/build/esm/resources/fetcher.d.ts.map +1 -1
- package/build/esm/resources/fetcher.js +3 -3
- package/build/esm/resources/note.d.ts +3 -3
- package/build/esm/resources/note.d.ts.map +1 -1
- package/build/esm/resources/program.d.ts +3 -3
- package/build/esm/resources/program.d.ts.map +1 -1
- package/build/esm/resources/program.js +3 -1
- package/build/esm/resources/project/index.d.ts +5 -5
- package/build/esm/resources/project/index.d.ts.map +1 -1
- package/build/esm/resources/project/interface.d.ts +1 -1
- package/build/esm/resources/project/interface.d.ts.map +1 -1
- package/build/esm/resources/project/member.d.ts +7 -5
- package/build/esm/resources/project/member.d.ts.map +1 -1
- package/build/esm/resources/projectSecret.d.ts +1 -1
- package/build/esm/resources/projectSecret.d.ts.map +1 -1
- package/build/esm/resources/user.d.ts.map +1 -1
- package/build/esm/resources/variableState.d.ts +4 -4
- package/build/esm/resources/variableState.d.ts.map +1 -1
- package/build/esm/resources/version/canvasTemplate.d.ts +3 -3
- package/build/esm/resources/version/canvasTemplate.d.ts.map +1 -1
- package/build/esm/resources/version/diagram.d.ts +3 -3
- package/build/esm/resources/version/diagram.d.ts.map +1 -1
- package/build/esm/resources/version/domain.d.ts +3 -3
- package/build/esm/resources/version/domain.d.ts.map +1 -1
- package/build/esm/resources/version/index.d.ts +5 -5
- package/build/esm/resources/version/index.d.ts.map +1 -1
- package/build/esm/resources/version/program.d.ts +3 -3
- package/build/esm/resources/version/program.d.ts.map +1 -1
- package/build/esm/resources/version/prototypeProgram.d.ts +3 -3
- package/build/esm/resources/version/prototypeProgram.d.ts.map +1 -1
- package/build/esm/types.d.ts +7 -7
- package/build/esm/types.d.ts.map +1 -1
- package/package.json +40 -42
- package/build/cjs/client.test.d.ts +0 -2
- package/build/cjs/client.test.d.ts.map +0 -1
- package/build/cjs/client.test.js +0 -54
- package/build/cjs/fetch.test.d.ts +0 -2
- package/build/cjs/fetch.test.d.ts.map +0 -1
- package/build/cjs/fetch.test.js +0 -194
- package/build/cjs/index.test.d.ts +0 -2
- package/build/cjs/index.test.d.ts.map +0 -1
- package/build/cjs/index.test.js +0 -72
- package/build/cjs/resources/analytics.test.d.ts +0 -2
- package/build/cjs/resources/analytics.test.d.ts.map +0 -1
- package/build/cjs/resources/analytics.test.js +0 -186
- package/build/cjs/resources/apiKey.test.d.ts +0 -2
- package/build/cjs/resources/apiKey.test.d.ts.map +0 -1
- package/build/cjs/resources/apiKey.test.js +0 -90
- package/build/cjs/resources/base.test.d.ts +0 -2
- package/build/cjs/resources/base.test.d.ts.map +0 -1
- package/build/cjs/resources/base.test.js +0 -57
- package/build/cjs/resources/crud.test.d.ts +0 -2
- package/build/cjs/resources/crud.test.d.ts.map +0 -1
- package/build/cjs/resources/crud.test.js +0 -104
- package/build/cjs/resources/crudNested.test.d.ts +0 -2
- package/build/cjs/resources/crudNested.test.d.ts.map +0 -1
- package/build/cjs/resources/crudNested.test.js +0 -105
- package/build/cjs/resources/diagram.test.d.ts +0 -2
- package/build/cjs/resources/diagram.test.d.ts.map +0 -1
- package/build/cjs/resources/diagram.test.js +0 -130
- package/build/cjs/resources/note.test.d.ts +0 -2
- package/build/cjs/resources/note.test.d.ts.map +0 -1
- package/build/cjs/resources/note.test.js +0 -37
- package/build/cjs/resources/program.test.d.ts +0 -2
- package/build/cjs/resources/program.test.d.ts.map +0 -1
- package/build/cjs/resources/program.test.js +0 -140
- package/build/cjs/resources/project/index.test.d.ts +0 -2
- package/build/cjs/resources/project/index.test.d.ts.map +0 -1
- package/build/cjs/resources/project/index.test.js +0 -178
- package/build/cjs/resources/project/member.test.d.ts +0 -2
- package/build/cjs/resources/project/member.test.d.ts.map +0 -1
- package/build/cjs/resources/project/member.test.js +0 -111
- package/build/cjs/resources/prototypeProgram.test.d.ts +0 -2
- package/build/cjs/resources/prototypeProgram.test.d.ts.map +0 -1
- package/build/cjs/resources/prototypeProgram.test.js +0 -18
- package/build/cjs/resources/user.test.d.ts +0 -2
- package/build/cjs/resources/user.test.d.ts.map +0 -1
- package/build/cjs/resources/user.test.js +0 -35
- package/build/cjs/resources/variableState.test.d.ts +0 -2
- package/build/cjs/resources/variableState.test.d.ts.map +0 -1
- package/build/cjs/resources/variableState.test.js +0 -56
- package/build/cjs/resources/version/canvasTemplate.test.d.ts +0 -2
- package/build/cjs/resources/version/canvasTemplate.test.d.ts.map +0 -1
- package/build/cjs/resources/version/canvasTemplate.test.js +0 -89
- package/build/cjs/resources/version/domain.test.d.ts +0 -2
- package/build/cjs/resources/version/domain.test.d.ts.map +0 -1
- package/build/cjs/resources/version/domain.test.js +0 -114
- package/build/cjs/resources/version/index.test.d.ts +0 -2
- package/build/cjs/resources/version/index.test.d.ts.map +0 -1
- package/build/cjs/resources/version/index.test.js +0 -323
- package/build/esm/client.test.d.ts +0 -2
- package/build/esm/client.test.d.ts.map +0 -1
- package/build/esm/client.test.js +0 -49
- package/build/esm/fetch.test.d.ts +0 -2
- package/build/esm/fetch.test.d.ts.map +0 -1
- package/build/esm/fetch.test.js +0 -189
- package/build/esm/index.test.d.ts +0 -2
- package/build/esm/index.test.d.ts.map +0 -1
- package/build/esm/index.test.js +0 -44
- package/build/esm/resources/analytics.test.d.ts +0 -2
- package/build/esm/resources/analytics.test.d.ts.map +0 -1
- package/build/esm/resources/analytics.test.js +0 -181
- package/build/esm/resources/apiKey.test.d.ts +0 -2
- package/build/esm/resources/apiKey.test.d.ts.map +0 -1
- package/build/esm/resources/apiKey.test.js +0 -85
- package/build/esm/resources/base.test.d.ts +0 -2
- package/build/esm/resources/base.test.d.ts.map +0 -1
- package/build/esm/resources/base.test.js +0 -52
- package/build/esm/resources/crud.test.d.ts +0 -2
- package/build/esm/resources/crud.test.d.ts.map +0 -1
- package/build/esm/resources/crud.test.js +0 -99
- package/build/esm/resources/crudNested.test.d.ts +0 -2
- package/build/esm/resources/crudNested.test.d.ts.map +0 -1
- package/build/esm/resources/crudNested.test.js +0 -100
- package/build/esm/resources/diagram.test.d.ts +0 -2
- package/build/esm/resources/diagram.test.d.ts.map +0 -1
- package/build/esm/resources/diagram.test.js +0 -125
- package/build/esm/resources/note.test.d.ts +0 -2
- package/build/esm/resources/note.test.d.ts.map +0 -1
- package/build/esm/resources/note.test.js +0 -32
- package/build/esm/resources/program.test.d.ts +0 -2
- package/build/esm/resources/program.test.d.ts.map +0 -1
- package/build/esm/resources/program.test.js +0 -135
- package/build/esm/resources/project/index.test.d.ts +0 -2
- package/build/esm/resources/project/index.test.d.ts.map +0 -1
- package/build/esm/resources/project/index.test.js +0 -173
- package/build/esm/resources/project/member.test.d.ts +0 -2
- package/build/esm/resources/project/member.test.d.ts.map +0 -1
- package/build/esm/resources/project/member.test.js +0 -106
- package/build/esm/resources/prototypeProgram.test.d.ts +0 -2
- package/build/esm/resources/prototypeProgram.test.d.ts.map +0 -1
- package/build/esm/resources/prototypeProgram.test.js +0 -13
- package/build/esm/resources/user.test.d.ts +0 -2
- package/build/esm/resources/user.test.d.ts.map +0 -1
- package/build/esm/resources/user.test.js +0 -30
- package/build/esm/resources/variableState.test.d.ts +0 -2
- package/build/esm/resources/variableState.test.d.ts.map +0 -1
- package/build/esm/resources/variableState.test.js +0 -51
- package/build/esm/resources/version/canvasTemplate.test.d.ts +0 -2
- package/build/esm/resources/version/canvasTemplate.test.d.ts.map +0 -1
- package/build/esm/resources/version/canvasTemplate.test.js +0 -84
- package/build/esm/resources/version/domain.test.d.ts +0 -2
- package/build/esm/resources/version/domain.test.d.ts.map +0 -1
- package/build/esm/resources/version/domain.test.js +0 -109
- package/build/esm/resources/version/index.test.d.ts +0 -2
- package/build/esm/resources/version/index.test.d.ts.map +0 -1
- package/build/esm/resources/version/index.test.js +0 -318
package/build/esm/client.test.js
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import JWT from 'jsonwebtoken';
|
|
2
|
-
import { Client } from './client.js';
|
|
3
|
-
import Fetch from './fetch.js';
|
|
4
|
-
import { Analytics, APIKey, Diagram, Note, Program, Project, ProjectSecret, PrototypeProgram, User, VariableState, Version } from './resources/index.js';
|
|
5
|
-
const CLIENT_RESOURCES = [Fetch, Diagram, Program, Project, ProjectSecret, Version, User, APIKey, Analytics, VariableState, Note];
|
|
6
|
-
const USER_HASH = 'UserHash_16chars';
|
|
7
|
-
const createClient = (authorization) => new Client({
|
|
8
|
-
clientKey: '123qwe123',
|
|
9
|
-
apiEndpoint: 'apiEndpoint',
|
|
10
|
-
authorization: authorization ?? `${USER_HASH}${JWT.sign({}, 'test')}`,
|
|
11
|
-
});
|
|
12
|
-
describe('Client', () => {
|
|
13
|
-
it('.constructor', () => {
|
|
14
|
-
const client = createClient();
|
|
15
|
-
expect(Object.values(client).every((resource) => CLIENT_RESOURCES.some((Resource) => resource instanceof Resource))).toBe(true);
|
|
16
|
-
});
|
|
17
|
-
it('.project', () => {
|
|
18
|
-
const client = createClient();
|
|
19
|
-
expect(client.project).toBeInstanceOf(Project);
|
|
20
|
-
});
|
|
21
|
-
it('.project secret', () => {
|
|
22
|
-
const client = createClient();
|
|
23
|
-
expect(client.projectSecret).toBeInstanceOf(ProjectSecret);
|
|
24
|
-
});
|
|
25
|
-
it('.version', () => {
|
|
26
|
-
const client = createClient();
|
|
27
|
-
expect(client.version).toBeInstanceOf(Version);
|
|
28
|
-
});
|
|
29
|
-
it('.program', () => {
|
|
30
|
-
const client = createClient();
|
|
31
|
-
expect(client.program).toBeInstanceOf(Program);
|
|
32
|
-
});
|
|
33
|
-
it('.diagram', () => {
|
|
34
|
-
const client = createClient();
|
|
35
|
-
expect(client.diagram).toBeInstanceOf(Diagram);
|
|
36
|
-
});
|
|
37
|
-
it('.user', () => {
|
|
38
|
-
const client = createClient();
|
|
39
|
-
expect(client.user).toBeInstanceOf(User);
|
|
40
|
-
});
|
|
41
|
-
it('.prototypeProgram', () => {
|
|
42
|
-
const client = createClient();
|
|
43
|
-
expect(client.prototypeProgram).toBeInstanceOf(PrototypeProgram);
|
|
44
|
-
});
|
|
45
|
-
it('.apiKey', () => {
|
|
46
|
-
const client = createClient();
|
|
47
|
-
expect(client.apiKey).toBeInstanceOf(APIKey);
|
|
48
|
-
});
|
|
49
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.test.d.ts","sourceRoot":"","sources":["../../src/fetch.test.ts"],"names":[],"mappings":""}
|
package/build/esm/fetch.test.js
DELETED
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
/* eslint-disable dot-notation */
|
|
2
|
-
import baseAxios from 'axios';
|
|
3
|
-
import Fetch from './fetch.js';
|
|
4
|
-
const CLIENT_KEY = '123qwe123';
|
|
5
|
-
const AUTHORIZATION = 'qwe123qwe';
|
|
6
|
-
const RESPONSE_DATA = {
|
|
7
|
-
data: { field1: '1', field2: { subfield: [1, 10] } },
|
|
8
|
-
status: 200,
|
|
9
|
-
};
|
|
10
|
-
const createFetch = (apiEndpoint = '', { options, authorization = 'qwe123qwe' } = {}) => {
|
|
11
|
-
const axiosInstance = {
|
|
12
|
-
get: jest.fn(),
|
|
13
|
-
post: jest.fn(),
|
|
14
|
-
put: jest.fn(),
|
|
15
|
-
patch: jest.fn(),
|
|
16
|
-
delete: jest.fn(),
|
|
17
|
-
defaults: {},
|
|
18
|
-
};
|
|
19
|
-
const axiosCreate = jest.spyOn(baseAxios, 'create').mockReturnValue(axiosInstance);
|
|
20
|
-
const fetch = new Fetch({
|
|
21
|
-
options,
|
|
22
|
-
clientKey: '123qwe123',
|
|
23
|
-
apiEndpoint,
|
|
24
|
-
authorization: authorization === null ? undefined : authorization,
|
|
25
|
-
});
|
|
26
|
-
return { fetch, axiosCreate, axiosInstance };
|
|
27
|
-
};
|
|
28
|
-
describe('Fetch', () => {
|
|
29
|
-
afterEach(() => {
|
|
30
|
-
jest.restoreAllMocks();
|
|
31
|
-
});
|
|
32
|
-
it('.constructor', () => {
|
|
33
|
-
const { axiosCreate } = createFetch('https://example.com');
|
|
34
|
-
expect(axiosCreate).toHaveBeenCalledTimes(1);
|
|
35
|
-
expect(axiosCreate).toHaveBeenCalledWith({
|
|
36
|
-
baseURL: 'https://example.com/',
|
|
37
|
-
headers: {
|
|
38
|
-
clientKey: CLIENT_KEY,
|
|
39
|
-
authorization: AUTHORIZATION,
|
|
40
|
-
},
|
|
41
|
-
withCredentials: true,
|
|
42
|
-
});
|
|
43
|
-
});
|
|
44
|
-
it('.constructor with trailing slash', () => {
|
|
45
|
-
const { axiosCreate } = createFetch('https://example.com/');
|
|
46
|
-
expect(axiosCreate).toHaveBeenCalledTimes(1);
|
|
47
|
-
expect(axiosCreate).toHaveBeenCalledWith({
|
|
48
|
-
baseURL: 'https://example.com/',
|
|
49
|
-
headers: {
|
|
50
|
-
clientKey: CLIENT_KEY,
|
|
51
|
-
authorization: AUTHORIZATION,
|
|
52
|
-
},
|
|
53
|
-
withCredentials: true,
|
|
54
|
-
});
|
|
55
|
-
});
|
|
56
|
-
it('.constructor with globalHeaders', () => {
|
|
57
|
-
const { axiosCreate } = createFetch('https://example.com', { options: { headers: { key: 'val' } } });
|
|
58
|
-
expect(axiosCreate).toHaveBeenCalledTimes(1);
|
|
59
|
-
expect(axiosCreate).toHaveBeenCalledWith({
|
|
60
|
-
baseURL: 'https://example.com/',
|
|
61
|
-
headers: {
|
|
62
|
-
key: 'val',
|
|
63
|
-
clientKey: CLIENT_KEY,
|
|
64
|
-
authorization: AUTHORIZATION,
|
|
65
|
-
},
|
|
66
|
-
withCredentials: true,
|
|
67
|
-
});
|
|
68
|
-
});
|
|
69
|
-
it('.constructor without authorization', () => {
|
|
70
|
-
const { axiosCreate } = createFetch('https://example.com', { authorization: null });
|
|
71
|
-
expect(axiosCreate).toHaveBeenCalledTimes(1);
|
|
72
|
-
expect(axiosCreate).toHaveBeenCalledWith({
|
|
73
|
-
baseURL: 'https://example.com/',
|
|
74
|
-
headers: { clientKey: CLIENT_KEY },
|
|
75
|
-
withCredentials: true,
|
|
76
|
-
});
|
|
77
|
-
});
|
|
78
|
-
it('.get', async () => {
|
|
79
|
-
const { fetch, axiosInstance } = createFetch();
|
|
80
|
-
axiosInstance.get.mockResolvedValue(RESPONSE_DATA);
|
|
81
|
-
const data = await fetch.get('get');
|
|
82
|
-
expect(axiosInstance.get).toHaveBeenCalledTimes(1);
|
|
83
|
-
expect(axiosInstance.get).toHaveBeenCalledWith('get');
|
|
84
|
-
expect(data).toEqual(RESPONSE_DATA);
|
|
85
|
-
});
|
|
86
|
-
it('.post', async () => {
|
|
87
|
-
const { fetch, axiosInstance } = createFetch();
|
|
88
|
-
axiosInstance.post.mockResolvedValue(RESPONSE_DATA);
|
|
89
|
-
const data = await fetch.post('post', { name: 'Name', id: 'id' });
|
|
90
|
-
expect(axiosInstance.post).toHaveBeenCalledTimes(1);
|
|
91
|
-
expect(axiosInstance.post).toHaveBeenCalledWith('post', { name: 'Name', id: 'id' });
|
|
92
|
-
expect(data).toEqual(RESPONSE_DATA);
|
|
93
|
-
});
|
|
94
|
-
it('.put', async () => {
|
|
95
|
-
const { fetch, axiosInstance } = createFetch();
|
|
96
|
-
axiosInstance.put.mockResolvedValue(RESPONSE_DATA);
|
|
97
|
-
const data = await fetch.put('put', { name: 'Name', id: 'id' });
|
|
98
|
-
expect(axiosInstance.put).toHaveBeenCalledTimes(1);
|
|
99
|
-
expect(axiosInstance.put).toHaveBeenCalledWith('put', { name: 'Name', id: 'id' });
|
|
100
|
-
expect(data).toEqual(RESPONSE_DATA);
|
|
101
|
-
});
|
|
102
|
-
it('.patch', async () => {
|
|
103
|
-
const { fetch, axiosInstance } = createFetch();
|
|
104
|
-
axiosInstance.patch.mockResolvedValue(RESPONSE_DATA);
|
|
105
|
-
const data = await fetch.patch('patch', { name: 'New Name' });
|
|
106
|
-
expect(axiosInstance.patch).toHaveBeenCalledTimes(1);
|
|
107
|
-
expect(axiosInstance.patch).toHaveBeenCalledWith('patch', { name: 'New Name' }, undefined);
|
|
108
|
-
expect(data).toEqual(RESPONSE_DATA);
|
|
109
|
-
});
|
|
110
|
-
it('.patch with query', async () => {
|
|
111
|
-
const { fetch, axiosInstance } = createFetch();
|
|
112
|
-
axiosInstance.patch.mockResolvedValue(RESPONSE_DATA);
|
|
113
|
-
const data = await fetch.patch('patch', { name: 'New Name' }, { key: '1' });
|
|
114
|
-
expect(axiosInstance.patch).toHaveBeenCalledTimes(1);
|
|
115
|
-
expect(axiosInstance.patch).toHaveBeenCalledWith('patch', { name: 'New Name' }, { params: { key: '1' } });
|
|
116
|
-
expect(data).toEqual(RESPONSE_DATA);
|
|
117
|
-
});
|
|
118
|
-
it('.delete', async () => {
|
|
119
|
-
const { fetch, axiosInstance } = createFetch();
|
|
120
|
-
axiosInstance.delete.mockResolvedValue(RESPONSE_DATA);
|
|
121
|
-
const data = await fetch.delete('delete');
|
|
122
|
-
expect(axiosInstance.delete).toHaveBeenCalledTimes(1);
|
|
123
|
-
expect(axiosInstance.delete).toHaveBeenCalledWith('delete');
|
|
124
|
-
expect(data).toEqual(RESPONSE_DATA);
|
|
125
|
-
});
|
|
126
|
-
it('.granularPatch', async () => {
|
|
127
|
-
const { fetch, axiosInstance } = createFetch();
|
|
128
|
-
axiosInstance.patch.mockResolvedValue(RESPONSE_DATA);
|
|
129
|
-
const data = await fetch.granularPatch('patch', 'path.[$var].nested', [1, 2], { var: 20 });
|
|
130
|
-
expect(axiosInstance.patch).toHaveBeenCalledTimes(1);
|
|
131
|
-
expect(axiosInstance.patch).toHaveBeenCalledWith('patch', { value: [1, 2], path: 'path.[$var].nested', pathVariables: { var: 20 } });
|
|
132
|
-
expect(data).toEqual(RESPONSE_DATA);
|
|
133
|
-
});
|
|
134
|
-
it('.initWithOptions', async () => {
|
|
135
|
-
const { fetch, axiosCreate } = createFetch('https://example.com', { options: { headers: { key: 'val' } } });
|
|
136
|
-
Object.assign(fetch['axios'], {
|
|
137
|
-
defaults: {
|
|
138
|
-
baseURL: 'https://example.com/',
|
|
139
|
-
headers: {
|
|
140
|
-
common: {
|
|
141
|
-
key: 'val',
|
|
142
|
-
clientKey: CLIENT_KEY,
|
|
143
|
-
authorization: AUTHORIZATION,
|
|
144
|
-
},
|
|
145
|
-
},
|
|
146
|
-
},
|
|
147
|
-
});
|
|
148
|
-
const fetch2 = fetch.initWithOptions({ headers: { key2: 'val2' } });
|
|
149
|
-
expect(fetch2).toBeInstanceOf(Fetch);
|
|
150
|
-
expect(axiosCreate).toHaveBeenCalledTimes(2);
|
|
151
|
-
expect(axiosCreate).toHaveBeenCalledWith({
|
|
152
|
-
baseURL: 'https://example.com/',
|
|
153
|
-
headers: {
|
|
154
|
-
key: 'val',
|
|
155
|
-
key2: 'val2',
|
|
156
|
-
clientKey: CLIENT_KEY,
|
|
157
|
-
authorization: AUTHORIZATION,
|
|
158
|
-
},
|
|
159
|
-
withCredentials: true,
|
|
160
|
-
});
|
|
161
|
-
});
|
|
162
|
-
it('.setOptions', async () => {
|
|
163
|
-
const { fetch } = createFetch('https://example.com', { options: { headers: { key: 'val' } } });
|
|
164
|
-
Object.assign(fetch['axios'], {
|
|
165
|
-
defaults: {
|
|
166
|
-
baseURL: 'https://example.com/',
|
|
167
|
-
headers: {
|
|
168
|
-
common: {
|
|
169
|
-
key: 'val',
|
|
170
|
-
clientKey: CLIENT_KEY,
|
|
171
|
-
authorization: AUTHORIZATION,
|
|
172
|
-
},
|
|
173
|
-
},
|
|
174
|
-
},
|
|
175
|
-
});
|
|
176
|
-
fetch.setOptions({ headers: { key2: 'val2' } });
|
|
177
|
-
expect(fetch['axios'].defaults).toEqual({
|
|
178
|
-
baseURL: 'https://example.com/',
|
|
179
|
-
headers: {
|
|
180
|
-
common: {
|
|
181
|
-
key: 'val',
|
|
182
|
-
key2: 'val2',
|
|
183
|
-
clientKey: CLIENT_KEY,
|
|
184
|
-
authorization: AUTHORIZATION,
|
|
185
|
-
},
|
|
186
|
-
},
|
|
187
|
-
});
|
|
188
|
-
});
|
|
189
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/index.test.ts"],"names":[],"mappings":""}
|
package/build/esm/index.test.js
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/* eslint-disable dot-notation */
|
|
2
|
-
import JWT from 'jsonwebtoken';
|
|
3
|
-
import * as s from 'superstruct';
|
|
4
|
-
import ApiSDK, { SGenerateClientParams, SParams } from './index.js';
|
|
5
|
-
import { Client } from './client.js';
|
|
6
|
-
import { PublicClient } from './publicClient.js';
|
|
7
|
-
const createSDK = () => {
|
|
8
|
-
const assert = jest.spyOn(s, 'assert');
|
|
9
|
-
const sdk = new ApiSDK({
|
|
10
|
-
clientKey: '123',
|
|
11
|
-
apiEndpoint: 'endpoint',
|
|
12
|
-
});
|
|
13
|
-
return {
|
|
14
|
-
sdk,
|
|
15
|
-
assert,
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
const USER_HASH = 'UserHash_16chars';
|
|
19
|
-
const AUTHORIZATION = USER_HASH + JWT.sign({}, 'test');
|
|
20
|
-
describe('ApiSDK', () => {
|
|
21
|
-
beforeEach(() => {
|
|
22
|
-
jest.restoreAllMocks();
|
|
23
|
-
});
|
|
24
|
-
it('.constructor', () => {
|
|
25
|
-
const { sdk, assert } = createSDK();
|
|
26
|
-
expect(sdk['clientKey']).toBe('123');
|
|
27
|
-
expect(sdk['apiEndpoint']).toBe('endpoint');
|
|
28
|
-
expect(assert).toHaveBeenCalledTimes(1);
|
|
29
|
-
expect(assert).toHaveBeenCalledWith({ clientKey: '123', apiEndpoint: 'endpoint' }, SParams);
|
|
30
|
-
});
|
|
31
|
-
it('.generatePublicClient', () => {
|
|
32
|
-
const { sdk, assert } = createSDK();
|
|
33
|
-
const client = sdk.generatePublicClient();
|
|
34
|
-
expect(client).toBeInstanceOf(PublicClient);
|
|
35
|
-
expect(assert).toHaveBeenCalledTimes(1);
|
|
36
|
-
});
|
|
37
|
-
it('.generateClient', () => {
|
|
38
|
-
const { sdk, assert } = createSDK();
|
|
39
|
-
const client = sdk.generateClient({ authorization: AUTHORIZATION });
|
|
40
|
-
expect(client).toBeInstanceOf(Client);
|
|
41
|
-
expect(assert).toHaveBeenCalledTimes(2);
|
|
42
|
-
expect(assert).toHaveBeenNthCalledWith(2, { authorization: AUTHORIZATION }, SGenerateClientParams);
|
|
43
|
-
});
|
|
44
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.test.d.ts","sourceRoot":"","sources":["../../../src/resources/analytics.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
/* eslint-disable dot-notation */
|
|
2
|
-
import Analytics from './analytics/index.js';
|
|
3
|
-
const createClient = (encrypted = false) => {
|
|
4
|
-
const fetch = {
|
|
5
|
-
post: jest.fn().mockResolvedValue(undefined),
|
|
6
|
-
};
|
|
7
|
-
const encryption = {
|
|
8
|
-
encryptJSON: jest.fn().mockReturnValue('message'),
|
|
9
|
-
};
|
|
10
|
-
const analytics = new Analytics(fetch, encrypted ? { encryption: encryption } : undefined);
|
|
11
|
-
return { fetch, analytics, encryption };
|
|
12
|
-
};
|
|
13
|
-
describe('Analytics', () => {
|
|
14
|
-
it('.constructor', () => {
|
|
15
|
-
const { fetch, analytics } = createClient();
|
|
16
|
-
expect(analytics['fetch']).toBe(fetch);
|
|
17
|
-
});
|
|
18
|
-
it('.endpoint', () => {
|
|
19
|
-
const { analytics } = createClient();
|
|
20
|
-
expect(analytics['endpoint']).toBe('analytics');
|
|
21
|
-
});
|
|
22
|
-
it('.endpoint encrypted', () => {
|
|
23
|
-
const { analytics } = createClient(true);
|
|
24
|
-
expect(analytics['endpoint']).toBe('vf-ping');
|
|
25
|
-
});
|
|
26
|
-
it('.encryptedPayload throws error', () => {
|
|
27
|
-
const { analytics } = createClient(true);
|
|
28
|
-
delete analytics['encryption'];
|
|
29
|
-
expect(() => analytics['encryptedPayload']({})).toThrow('Encryption should be provided!');
|
|
30
|
-
});
|
|
31
|
-
it('.track', async () => {
|
|
32
|
-
const { fetch, analytics } = createClient();
|
|
33
|
-
await analytics.track('');
|
|
34
|
-
await analytics.track('Event');
|
|
35
|
-
await analytics.track('Event 2', { properties: { id: 'id', value: 10 }, hashed: ['id'] });
|
|
36
|
-
expect(fetch.post).toHaveBeenCalledWith('analytics/private-track', {
|
|
37
|
-
event: 'Event',
|
|
38
|
-
envIDs: undefined,
|
|
39
|
-
hashed: undefined,
|
|
40
|
-
properties: {},
|
|
41
|
-
teamhashed: undefined,
|
|
42
|
-
});
|
|
43
|
-
expect(fetch.post).toHaveBeenCalledWith('analytics/private-track', {
|
|
44
|
-
event: 'Event 2',
|
|
45
|
-
hashed: ['id'],
|
|
46
|
-
properties: { id: 'id', value: 10 },
|
|
47
|
-
teamhashed: undefined,
|
|
48
|
-
envIDs: undefined,
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
it('.track encrypted', async () => {
|
|
52
|
-
const { fetch, analytics } = createClient(true);
|
|
53
|
-
await analytics.track('');
|
|
54
|
-
await analytics.track('Event');
|
|
55
|
-
await analytics.track('Event 2', { properties: { id: 'id', value: 10 }, hashed: ['id'] });
|
|
56
|
-
expect(fetch.post).toHaveBeenCalledWith('vf-ping/private', { message: 'message' });
|
|
57
|
-
expect(fetch.post).toHaveBeenCalledWith('vf-ping/private', { message: 'message' });
|
|
58
|
-
});
|
|
59
|
-
it('.trackPublic', async () => {
|
|
60
|
-
const { fetch, analytics } = createClient();
|
|
61
|
-
await analytics.trackPublic('');
|
|
62
|
-
await analytics.trackPublic('Event');
|
|
63
|
-
await analytics.trackPublic('Event 2', { anonymousID: '1', properties: { id: 'id', value: 10 }, hashed: ['id'] });
|
|
64
|
-
expect(fetch.post).toHaveBeenCalledWith('analytics/track', {
|
|
65
|
-
event: 'Event',
|
|
66
|
-
anonymousID: undefined,
|
|
67
|
-
envIDs: undefined,
|
|
68
|
-
hashed: undefined,
|
|
69
|
-
properties: {},
|
|
70
|
-
teamhashed: undefined,
|
|
71
|
-
});
|
|
72
|
-
expect(fetch.post).toHaveBeenCalledWith('analytics/track', {
|
|
73
|
-
event: 'Event 2',
|
|
74
|
-
anonymousID: '1',
|
|
75
|
-
hashed: ['id'],
|
|
76
|
-
properties: { id: 'id', value: 10 },
|
|
77
|
-
teamhashed: undefined,
|
|
78
|
-
envIDs: undefined,
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
it('.trackPublic encrypted', async () => {
|
|
82
|
-
const { fetch, analytics } = createClient(true);
|
|
83
|
-
await analytics.trackPublic('');
|
|
84
|
-
await analytics.trackPublic('Event');
|
|
85
|
-
await analytics.trackPublic('Event 2', { anonymousID: '1', properties: { id: 'id', value: 10 }, hashed: ['id'] });
|
|
86
|
-
expect(fetch.post).toHaveBeenCalledWith('vf-ping', { message: 'message' });
|
|
87
|
-
expect(fetch.post).toHaveBeenCalledWith('vf-ping', { message: 'message' });
|
|
88
|
-
});
|
|
89
|
-
it('.track with batching', async () => {
|
|
90
|
-
const { fetch, analytics } = createClient();
|
|
91
|
-
analytics.setBatching(true);
|
|
92
|
-
analytics.track('');
|
|
93
|
-
analytics.track('Event');
|
|
94
|
-
analytics.track('Event 2', { properties: { id: 'id', value: 10 }, hashed: ['id'] });
|
|
95
|
-
await Promise.resolve();
|
|
96
|
-
expect(fetch.post).toHaveBeenCalledWith('analytics/private-batch-track', [
|
|
97
|
-
{ event: 'Event', envIDs: undefined, hashed: undefined, properties: {}, teamhashed: undefined },
|
|
98
|
-
{ event: 'Event 2', hashed: ['id'], properties: { id: 'id', value: 10 }, teamhashed: undefined, envIDs: undefined },
|
|
99
|
-
]);
|
|
100
|
-
});
|
|
101
|
-
it('.track encrypted with batching', async () => {
|
|
102
|
-
const { fetch, analytics } = createClient(true);
|
|
103
|
-
analytics.setBatching(true);
|
|
104
|
-
analytics.track('');
|
|
105
|
-
analytics.track('Event');
|
|
106
|
-
analytics.track('Event 2', { properties: { id: 'id', value: 10 }, hashed: ['id'] });
|
|
107
|
-
await Promise.resolve();
|
|
108
|
-
expect(fetch.post).toHaveBeenCalledWith('vf-ping/private-batch', { message: 'message' });
|
|
109
|
-
});
|
|
110
|
-
it('.trackPublic with batching', async () => {
|
|
111
|
-
const { fetch, analytics } = createClient();
|
|
112
|
-
analytics.setBatching(true);
|
|
113
|
-
analytics.trackPublic('');
|
|
114
|
-
analytics.trackPublic('Event');
|
|
115
|
-
analytics.trackPublic('Event 2', { anonymousID: '1', properties: { id: 'id', value: 10 }, hashed: ['id'] });
|
|
116
|
-
await Promise.resolve();
|
|
117
|
-
expect(fetch.post).toHaveBeenCalledWith('analytics/batch-track', [
|
|
118
|
-
{ event: 'Event', anonymousID: undefined, envIDs: undefined, hashed: undefined, properties: {}, teamhashed: undefined },
|
|
119
|
-
{ event: 'Event 2', anonymousID: '1', hashed: ['id'], properties: { id: 'id', value: 10 }, teamhashed: undefined, envIDs: undefined },
|
|
120
|
-
]);
|
|
121
|
-
});
|
|
122
|
-
it('.trackPublic encrypted with batching', async () => {
|
|
123
|
-
const { fetch, analytics } = createClient(true);
|
|
124
|
-
analytics.setBatching(true);
|
|
125
|
-
analytics.trackPublic('');
|
|
126
|
-
analytics.trackPublic('Event');
|
|
127
|
-
analytics.trackPublic('Event 2', { anonymousID: '1', properties: { id: 'id', value: 10 }, hashed: ['id'] });
|
|
128
|
-
await Promise.resolve();
|
|
129
|
-
expect(fetch.post).toHaveBeenCalledWith('vf-ping/batch', { message: 'message' });
|
|
130
|
-
});
|
|
131
|
-
it('.flush', async () => {
|
|
132
|
-
const { fetch, analytics } = createClient();
|
|
133
|
-
analytics.setBatching(true);
|
|
134
|
-
analytics.track('');
|
|
135
|
-
analytics.track('Event');
|
|
136
|
-
analytics.track('Event 2', { properties: { id: 'id', value: 10 }, hashed: ['id'] });
|
|
137
|
-
analytics.flush();
|
|
138
|
-
expect(fetch.post).toHaveBeenCalledWith('analytics/private-batch-track', [
|
|
139
|
-
{ event: 'Event', envIDs: undefined, hashed: undefined, properties: {}, teamhashed: undefined },
|
|
140
|
-
{ event: 'Event 2', hashed: ['id'], properties: { id: 'id', value: 10 }, teamhashed: undefined, envIDs: undefined },
|
|
141
|
-
]);
|
|
142
|
-
});
|
|
143
|
-
it('.flush handle error', async () => {
|
|
144
|
-
const { fetch, analytics } = createClient();
|
|
145
|
-
analytics.setBatching(true);
|
|
146
|
-
analytics.track('');
|
|
147
|
-
analytics.track('Event');
|
|
148
|
-
analytics.track('Event 2', { properties: { id: 'id', value: 10 }, hashed: ['id'] });
|
|
149
|
-
fetch.post.mockRejectedValue(new Error('error'));
|
|
150
|
-
await analytics.flush();
|
|
151
|
-
expect(analytics['privateQueue']['queue']).toEqual([
|
|
152
|
-
{ event: 'Event', envIDs: undefined, hashed: undefined, properties: {}, teamhashed: undefined },
|
|
153
|
-
{ event: 'Event 2', hashed: ['id'], properties: { id: 'id', value: 10 }, teamhashed: undefined, envIDs: undefined },
|
|
154
|
-
]);
|
|
155
|
-
});
|
|
156
|
-
it('.identify', async () => {
|
|
157
|
-
const { fetch, analytics } = createClient();
|
|
158
|
-
await analytics.identify({ traits: { id: 'id', value: 10 }, teamhashed: ['id'] });
|
|
159
|
-
expect(fetch.post).toHaveBeenCalledWith('analytics/identify', {
|
|
160
|
-
teamhashed: ['id'],
|
|
161
|
-
traits: { id: 'id', value: 10 },
|
|
162
|
-
envIDs: undefined,
|
|
163
|
-
hashed: undefined,
|
|
164
|
-
});
|
|
165
|
-
});
|
|
166
|
-
it('.identify encrypted', async () => {
|
|
167
|
-
const { fetch, analytics } = createClient(true);
|
|
168
|
-
await analytics.identify({ traits: { id: 'id', value: 10 }, teamhashed: ['id'] });
|
|
169
|
-
expect(fetch.post).toHaveBeenCalledWith('vf-ping/user', { message: 'message' });
|
|
170
|
-
});
|
|
171
|
-
it('.identifyWorkspace', async () => {
|
|
172
|
-
const { fetch, analytics } = createClient();
|
|
173
|
-
await analytics.identifyWorkspace('id', { name: 'name' });
|
|
174
|
-
expect(fetch.post).toHaveBeenCalledWith('analytics/workspace/identify', { id: 'id', name: 'name' });
|
|
175
|
-
});
|
|
176
|
-
it('.identifyWorkspace encrypted', async () => {
|
|
177
|
-
const { fetch, analytics } = createClient(true);
|
|
178
|
-
await analytics.identifyWorkspace('id', { name: 'name' });
|
|
179
|
-
expect(fetch.post).toHaveBeenCalledWith('vf-ping/workspace', { message: 'message' });
|
|
180
|
-
});
|
|
181
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"apiKey.test.d.ts","sourceRoot":"","sources":["../../../src/resources/apiKey.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
/* eslint-disable dot-notation */
|
|
2
|
-
import APIKey from './apiKey.js';
|
|
3
|
-
import Crud from './crud.js';
|
|
4
|
-
const RESPONSE_DATA = { field1: '1', field2: { subfield: [1, 10] } };
|
|
5
|
-
const createClient = () => {
|
|
6
|
-
const fetch = {
|
|
7
|
-
get: jest.fn(),
|
|
8
|
-
post: jest.fn(),
|
|
9
|
-
put: jest.fn(),
|
|
10
|
-
patch: jest.fn(),
|
|
11
|
-
delete: jest.fn(),
|
|
12
|
-
};
|
|
13
|
-
const crud = {
|
|
14
|
-
get: jest.fn(),
|
|
15
|
-
getByID: jest.fn(),
|
|
16
|
-
post: jest.fn(),
|
|
17
|
-
put: jest.fn(),
|
|
18
|
-
patch: jest.fn(),
|
|
19
|
-
delete: jest.fn(),
|
|
20
|
-
};
|
|
21
|
-
const resource = new APIKey(fetch);
|
|
22
|
-
Crud.prototype['_get'] = crud.get;
|
|
23
|
-
Crud.prototype['_getByID'] = crud.getByID;
|
|
24
|
-
Crud.prototype['_post'] = crud.post;
|
|
25
|
-
Crud.prototype['_put'] = crud.put;
|
|
26
|
-
Crud.prototype['_patch'] = crud.patch;
|
|
27
|
-
Crud.prototype['_delete'] = crud.delete;
|
|
28
|
-
return {
|
|
29
|
-
crud,
|
|
30
|
-
fetch,
|
|
31
|
-
resource,
|
|
32
|
-
};
|
|
33
|
-
};
|
|
34
|
-
describe('ApiKeyResource', () => {
|
|
35
|
-
it('.get', async () => {
|
|
36
|
-
const { crud, resource } = createClient();
|
|
37
|
-
crud.getByID.mockResolvedValue(RESPONSE_DATA);
|
|
38
|
-
const data = await resource.get('1');
|
|
39
|
-
expect(crud.getByID).toHaveBeenCalledTimes(1);
|
|
40
|
-
expect(crud.getByID).toHaveBeenCalledWith('1');
|
|
41
|
-
expect(data).toBe(RESPONSE_DATA);
|
|
42
|
-
});
|
|
43
|
-
it('.create', async () => {
|
|
44
|
-
const { crud, resource } = createClient();
|
|
45
|
-
crud.post.mockResolvedValue(RESPONSE_DATA);
|
|
46
|
-
const body = {
|
|
47
|
-
_id: '1',
|
|
48
|
-
creatorID: 1,
|
|
49
|
-
projectID: '1',
|
|
50
|
-
name: 'name',
|
|
51
|
-
variables: [],
|
|
52
|
-
platformData: {
|
|
53
|
-
slots: [],
|
|
54
|
-
intents: [],
|
|
55
|
-
settings: {},
|
|
56
|
-
publishing: {},
|
|
57
|
-
},
|
|
58
|
-
rootDiagramID: '1',
|
|
59
|
-
};
|
|
60
|
-
const data = await resource.create('1', body);
|
|
61
|
-
expect(crud.post).toHaveBeenCalledTimes(1);
|
|
62
|
-
expect(crud.post).toHaveBeenCalledWith({ ...body, workspaceID: '1' });
|
|
63
|
-
expect(data).toBe(RESPONSE_DATA);
|
|
64
|
-
});
|
|
65
|
-
it('.update', async () => {
|
|
66
|
-
const { crud, resource } = createClient();
|
|
67
|
-
crud.put.mockResolvedValue(RESPONSE_DATA);
|
|
68
|
-
const body = {
|
|
69
|
-
name: 'new name',
|
|
70
|
-
variables: ['aaaa'],
|
|
71
|
-
};
|
|
72
|
-
const data = await resource.update('1', body);
|
|
73
|
-
expect(crud.put).toHaveBeenCalledTimes(1);
|
|
74
|
-
expect(crud.put).toHaveBeenCalledWith('1', body);
|
|
75
|
-
expect(data).toBe(RESPONSE_DATA);
|
|
76
|
-
});
|
|
77
|
-
it('.delete', async () => {
|
|
78
|
-
const { crud, resource } = createClient();
|
|
79
|
-
crud.delete.mockResolvedValue(RESPONSE_DATA);
|
|
80
|
-
const data = await resource.delete('1');
|
|
81
|
-
expect(crud.delete).toHaveBeenCalledTimes(1);
|
|
82
|
-
expect(crud.delete).toHaveBeenCalledWith('1');
|
|
83
|
-
expect(data).toBe(RESPONSE_DATA);
|
|
84
|
-
});
|
|
85
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base.test.d.ts","sourceRoot":"","sources":["../../../src/resources/base.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/* eslint-disable dot-notation */
|
|
2
|
-
import BaseResource from './base.js';
|
|
3
|
-
const createClient = () => {
|
|
4
|
-
const fetch = {
|
|
5
|
-
get: jest.fn(),
|
|
6
|
-
post: jest.fn(),
|
|
7
|
-
put: jest.fn(),
|
|
8
|
-
patch: jest.fn(),
|
|
9
|
-
delete: jest.fn(),
|
|
10
|
-
initWithOptions: jest.fn(),
|
|
11
|
-
};
|
|
12
|
-
class Resource {
|
|
13
|
-
}
|
|
14
|
-
const resource = new BaseResource({
|
|
15
|
-
fetch: fetch,
|
|
16
|
-
clazz: Resource,
|
|
17
|
-
endpoint: 'endpoint',
|
|
18
|
-
});
|
|
19
|
-
return {
|
|
20
|
-
fetch,
|
|
21
|
-
resource,
|
|
22
|
-
Resource,
|
|
23
|
-
};
|
|
24
|
-
};
|
|
25
|
-
describe('BaseResource', () => {
|
|
26
|
-
it('.constructor', () => {
|
|
27
|
-
const { fetch, resource, Resource } = createClient();
|
|
28
|
-
expect(resource['fetch']).toBe(fetch);
|
|
29
|
-
expect(resource['clazz']).toBe(Resource);
|
|
30
|
-
expect(resource['endpoint']).toBe('endpoint');
|
|
31
|
-
});
|
|
32
|
-
it('.options', () => {
|
|
33
|
-
const { fetch, resource, Resource } = createClient();
|
|
34
|
-
const instance = resource.options({
|
|
35
|
-
headers: { key: 'val' },
|
|
36
|
-
});
|
|
37
|
-
expect(instance).toBeInstanceOf(Resource);
|
|
38
|
-
expect(fetch.initWithOptions).toHaveBeenCalledWith({
|
|
39
|
-
headers: { key: 'val' },
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
it('._getFieldsQuery', () => {
|
|
43
|
-
const { resource } = createClient();
|
|
44
|
-
expect(resource['_getFieldsQuery']()).toBe('');
|
|
45
|
-
expect(resource['_getFieldsQuery'](['name'])).toBe('?fields=name');
|
|
46
|
-
});
|
|
47
|
-
it('._getIDsQuery', () => {
|
|
48
|
-
const { resource } = createClient();
|
|
49
|
-
expect(resource['_getIDsQuery']('name', [])).toBe('');
|
|
50
|
-
expect(resource['_getIDsQuery']('name', ['1', '2'])).toBe('?name=1&name=2');
|
|
51
|
-
});
|
|
52
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"crud.test.d.ts","sourceRoot":"","sources":["../../../src/resources/crud.test.ts"],"names":[],"mappings":""}
|