@thoughtspot/visual-embed-sdk 1.42.1-alpha.1 → 1.42.1-alpha.2
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/cjs/package.json +1 -1
- package/cjs/src/api-intercept.d.ts +10 -8
- package/cjs/src/api-intercept.d.ts.map +1 -1
- package/cjs/src/api-intercept.js +12 -12
- package/cjs/src/api-intercept.js.map +1 -1
- package/cjs/src/api-intercept.spec.d.ts +2 -0
- package/cjs/src/api-intercept.spec.d.ts.map +1 -0
- package/cjs/src/api-intercept.spec.js +122 -0
- package/cjs/src/api-intercept.spec.js.map +1 -0
- package/cjs/src/embed/ts-embed.spec.d.ts.map +1 -1
- package/cjs/src/embed/ts-embed.spec.js +85 -0
- package/cjs/src/embed/ts-embed.spec.js.map +1 -1
- package/dist/index-BCC3Z072.js +7371 -0
- package/dist/src/api-intercept.d.ts +10 -8
- package/dist/src/api-intercept.d.ts.map +1 -1
- package/dist/src/api-intercept.spec.d.ts +2 -0
- package/dist/src/api-intercept.spec.d.ts.map +1 -0
- package/dist/src/embed/ts-embed.spec.d.ts.map +1 -1
- package/dist/tsembed-react.es.js +15 -15
- package/dist/tsembed-react.js +14 -14
- package/dist/tsembed.es.js +15 -15
- package/dist/tsembed.js +14 -14
- package/lib/package.json +1 -1
- package/lib/src/api-intercept.d.ts +10 -8
- package/lib/src/api-intercept.d.ts.map +1 -1
- package/lib/src/api-intercept.js +12 -12
- package/lib/src/api-intercept.js.map +1 -1
- package/lib/src/api-intercept.spec.d.ts +2 -0
- package/lib/src/api-intercept.spec.d.ts.map +1 -0
- package/lib/src/api-intercept.spec.js +119 -0
- package/lib/src/api-intercept.spec.js.map +1 -0
- package/lib/src/embed/ts-embed.spec.d.ts.map +1 -1
- package/lib/src/embed/ts-embed.spec.js +85 -0
- package/lib/src/embed/ts-embed.spec.js.map +1 -1
- package/package.json +1 -1
- package/src/api-intercept.spec.ts +147 -0
- package/src/api-intercept.ts +4 -4
- package/src/embed/ts-embed.spec.ts +105 -0
package/cjs/package.json
CHANGED
|
@@ -14,12 +14,14 @@ export declare const handleInterceptEvent: (params: {
|
|
|
14
14
|
}>;
|
|
15
15
|
}) => Promise<void>;
|
|
16
16
|
export declare const processLegacyInterceptResponse: (payload: any) => {
|
|
17
|
-
data: {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}[];
|
|
17
|
+
data: {
|
|
18
|
+
execute: any;
|
|
19
|
+
errors: {
|
|
20
|
+
errorObj: {
|
|
21
|
+
title: any;
|
|
22
|
+
desc: any;
|
|
23
|
+
};
|
|
24
|
+
}[];
|
|
25
|
+
};
|
|
26
|
+
};
|
|
25
27
|
//# sourceMappingURL=api-intercept.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-intercept.d.ts","sourceRoot":"","sources":["../../src/api-intercept.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,cAAc,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAwBxG,eAAO,MAAM,mBAAmB,cAAqB,GAAG,iBAGvD,CAAA;AAeD,eAAO,MAAM,oBAAoB,gBAAiB,WAAW,cAAc,cAAc,KAAG,gBAwB3F,CAAA;AAoBD,eAAO,MAAM,oBAAoB;eAA+B,GAAG;8BAA4B,UAAU,QAAQ,GAAG,KAAK,IAAI;iBAAe,WAAW;gBAAc,cAAc;iCAA+B;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,QAAQ;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;mBAyBpR,CAAA;AAED,eAAO,MAAM,8BAA8B,YAAa,GAAG
|
|
1
|
+
{"version":3,"file":"api-intercept.d.ts","sourceRoot":"","sources":["../../src/api-intercept.ts"],"names":[],"mappings":"AAEA,OAAO,EAAsB,cAAc,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAwBxG,eAAO,MAAM,mBAAmB,cAAqB,GAAG,iBAGvD,CAAA;AAeD,eAAO,MAAM,oBAAoB,gBAAiB,WAAW,cAAc,cAAc,KAAG,gBAwB3F,CAAA;AAoBD,eAAO,MAAM,oBAAoB;eAA+B,GAAG;8BAA4B,UAAU,QAAQ,GAAG,KAAK,IAAI;iBAAe,WAAW;gBAAc,cAAc;iCAA+B;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,QAAQ;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;mBAyBpR,CAAA;AAED,eAAO,MAAM,8BAA8B,YAAa,GAAG;;;;;;;;;;CAkB1D,CAAA"}
|
package/cjs/src/api-intercept.js
CHANGED
|
@@ -95,21 +95,21 @@ const handleInterceptEvent = async (params) => {
|
|
|
95
95
|
};
|
|
96
96
|
exports.handleInterceptEvent = handleInterceptEvent;
|
|
97
97
|
const processLegacyInterceptResponse = (payload) => {
|
|
98
|
-
var _a, _b;
|
|
98
|
+
var _a, _b, _c;
|
|
99
99
|
const title = (_a = payload === null || payload === void 0 ? void 0 : payload.data) === null || _a === void 0 ? void 0 : _a.errorText;
|
|
100
100
|
const desc = (_b = payload === null || payload === void 0 ? void 0 : payload.data) === null || _b === void 0 ? void 0 : _b.errorDescription;
|
|
101
|
-
const payloadToSend =
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
}
|
|
101
|
+
const payloadToSend = {
|
|
102
|
+
execute: (_c = payload === null || payload === void 0 ? void 0 : payload.data) === null || _c === void 0 ? void 0 : _c.execute,
|
|
103
|
+
errors: [
|
|
104
|
+
{
|
|
105
|
+
errorObj: {
|
|
106
|
+
title,
|
|
107
|
+
desc
|
|
109
108
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
109
|
+
}
|
|
110
|
+
],
|
|
111
|
+
};
|
|
112
|
+
return { data: payloadToSend };
|
|
113
113
|
};
|
|
114
114
|
exports.processLegacyInterceptResponse = processLegacyInterceptResponse;
|
|
115
115
|
//# sourceMappingURL=api-intercept.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-intercept.js","sourceRoot":"","sources":["../../src/api-intercept.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"api-intercept.js","sourceRoot":"","sources":["../../src/api-intercept.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-intercept.spec.d.ts","sourceRoot":"","sources":["../../src/api-intercept.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const api_intercept_1 = require("./api-intercept");
|
|
5
|
+
const types_1 = require("./types");
|
|
6
|
+
const embedCfg = tslib_1.__importStar(require("./embed/embedConfig"));
|
|
7
|
+
const cfg = tslib_1.__importStar(require("./config"));
|
|
8
|
+
const logger_1 = require("./utils/logger");
|
|
9
|
+
describe('api-intercept', () => {
|
|
10
|
+
beforeEach(() => {
|
|
11
|
+
jest.restoreAllMocks();
|
|
12
|
+
jest.clearAllMocks();
|
|
13
|
+
});
|
|
14
|
+
describe('getInterceptInitData', () => {
|
|
15
|
+
test('returns disabled when not enabled in either config', () => {
|
|
16
|
+
const init = (0, api_intercept_1.getInterceptInitData)({}, {});
|
|
17
|
+
expect(init).toEqual({ enableApiIntercept: false });
|
|
18
|
+
});
|
|
19
|
+
test('merges urls and expands api types, formats with host', () => {
|
|
20
|
+
jest.spyOn(embedCfg, 'getEmbedConfig').mockReturnValue({ thoughtSpotHost: 'http://tshost' });
|
|
21
|
+
jest.spyOn(cfg, 'getThoughtSpotHost').mockReturnValue('http://tshost');
|
|
22
|
+
const embedConfig = { enableApiIntercept: true };
|
|
23
|
+
const viewConfig = { interceptUrls: [types_1.InterceptedApiType.METADATA, '/custom/path'] };
|
|
24
|
+
const init = (0, api_intercept_1.getInterceptInitData)(embedConfig, viewConfig);
|
|
25
|
+
expect(init.enableApiIntercept).toBe(true);
|
|
26
|
+
expect(init.interceptUrls).toEqual(expect.arrayContaining([
|
|
27
|
+
'http://tshost/prism/?op=CreateAnswerSession',
|
|
28
|
+
'http://tshost/prism/?op=GetV2SourceDetail',
|
|
29
|
+
'http://tshost/custom/path',
|
|
30
|
+
]));
|
|
31
|
+
});
|
|
32
|
+
test('honors InterceptedApiType.ALL and interceptTimeout', () => {
|
|
33
|
+
const embedConfig = { enableApiIntercept: true, interceptTimeout: 2500 };
|
|
34
|
+
const viewConfig = { interceptUrls: [types_1.InterceptedApiType.ALL] };
|
|
35
|
+
const init = (0, api_intercept_1.getInterceptInitData)(embedConfig, viewConfig);
|
|
36
|
+
expect(init).toEqual({
|
|
37
|
+
enableApiIntercept: true,
|
|
38
|
+
interceptUrls: [types_1.InterceptedApiType.ALL],
|
|
39
|
+
interceptTimeout: 2500,
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
test('legacy flag isOnBeforeGetVizDataInterceptEnabled adds ANSWER_DATA', () => {
|
|
43
|
+
jest.spyOn(embedCfg, 'getEmbedConfig').mockReturnValue({ thoughtSpotHost: 'http://tshost' });
|
|
44
|
+
jest.spyOn(cfg, 'getThoughtSpotHost').mockReturnValue('http://tshost');
|
|
45
|
+
const embedConfig = { enableApiIntercept: true };
|
|
46
|
+
const viewConfig = { isOnBeforeGetVizDataInterceptEnabled: true, interceptUrls: [] };
|
|
47
|
+
const init = (0, api_intercept_1.getInterceptInitData)(embedConfig, viewConfig);
|
|
48
|
+
// Should expand to concrete ANSWER_DATA URLs
|
|
49
|
+
expect(init.interceptUrls).toEqual(expect.arrayContaining([
|
|
50
|
+
'http://tshost/prism/?op=GetChartWithData',
|
|
51
|
+
'http://tshost/prism/?op=GetTableWithHeadlineData',
|
|
52
|
+
]));
|
|
53
|
+
});
|
|
54
|
+
test('viewConfig enableApiIntercept=false overrides embed config', () => {
|
|
55
|
+
const embedConfig = { enableApiIntercept: true };
|
|
56
|
+
const viewConfig = { enableApiIntercept: false };
|
|
57
|
+
const init = (0, api_intercept_1.getInterceptInitData)(embedConfig, viewConfig);
|
|
58
|
+
expect(init).toEqual({ enableApiIntercept: false });
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
describe('processApiIntercept', () => {
|
|
62
|
+
test('parses data JSON string', async () => {
|
|
63
|
+
const result = await (0, api_intercept_1.processApiIntercept)({ data: JSON.stringify({ foo: 'bar' }) });
|
|
64
|
+
expect(result).toEqual({ foo: 'bar' });
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
describe('handleInterceptEvent', () => {
|
|
68
|
+
test('emits error on body parse failure', async () => {
|
|
69
|
+
const executeEvent = jest.fn();
|
|
70
|
+
const loggerErrSpy = jest.spyOn(logger_1.logger, 'error').mockImplementation(() => undefined);
|
|
71
|
+
await (0, api_intercept_1.handleInterceptEvent)({
|
|
72
|
+
eventData: { data: 'not-a-json' },
|
|
73
|
+
executeEvent,
|
|
74
|
+
embedConfig: {},
|
|
75
|
+
viewConfig: {},
|
|
76
|
+
getUnsavedAnswerTml: jest.fn(),
|
|
77
|
+
});
|
|
78
|
+
expect(executeEvent).toHaveBeenCalledWith(types_1.EmbedEvent.Error, { error: 'Error parsing api intercept body' });
|
|
79
|
+
loggerErrSpy.mockReset();
|
|
80
|
+
});
|
|
81
|
+
test('calls getUnsavedAnswerTml and emits legacy + ApiIntercept events when applicable', async () => {
|
|
82
|
+
const executeEvent = jest.fn();
|
|
83
|
+
const getUnsavedAnswerTml = jest.fn().mockResolvedValue({ tml: 'TML_STRING' });
|
|
84
|
+
const eventPayload = {
|
|
85
|
+
input: '/prism/?op=GetChartWithData',
|
|
86
|
+
init: {
|
|
87
|
+
body: JSON.stringify({
|
|
88
|
+
variables: {
|
|
89
|
+
session: { sessionId: 'S1' },
|
|
90
|
+
contextBookId: 'V1',
|
|
91
|
+
},
|
|
92
|
+
}),
|
|
93
|
+
},
|
|
94
|
+
};
|
|
95
|
+
await (0, api_intercept_1.handleInterceptEvent)({
|
|
96
|
+
eventData: { data: JSON.stringify(eventPayload) },
|
|
97
|
+
executeEvent,
|
|
98
|
+
embedConfig: {},
|
|
99
|
+
viewConfig: { isOnBeforeGetVizDataInterceptEnabled: true },
|
|
100
|
+
getUnsavedAnswerTml,
|
|
101
|
+
});
|
|
102
|
+
expect(getUnsavedAnswerTml).toHaveBeenCalledWith({ sessionId: 'S1', vizId: 'V1' });
|
|
103
|
+
expect(executeEvent).toHaveBeenCalledWith(types_1.EmbedEvent.OnBeforeGetVizDataIntercept, { data: { data: { tml: 'TML_STRING' } } });
|
|
104
|
+
expect(executeEvent).toHaveBeenCalledWith(types_1.EmbedEvent.ApiIntercept, expect.objectContaining({ input: '/prism/?op=GetChartWithData' }));
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
describe('processLegacyInterceptResponse', () => {
|
|
108
|
+
test('wraps legacy error payload as expected', () => {
|
|
109
|
+
const payload = { data: { errorText: 'Title', errorDescription: 'Desc' } };
|
|
110
|
+
const res = (0, api_intercept_1.processLegacyInterceptResponse)(payload);
|
|
111
|
+
expect(Array.isArray(res)).toBe(true);
|
|
112
|
+
expect(res[0]).toEqual(expect.objectContaining({
|
|
113
|
+
errors: [
|
|
114
|
+
expect.objectContaining({
|
|
115
|
+
errorObj: expect.objectContaining({ title: 'Title', desc: 'Desc' }),
|
|
116
|
+
}),
|
|
117
|
+
],
|
|
118
|
+
}));
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
//# sourceMappingURL=api-intercept.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-intercept.spec.js","sourceRoot":"","sources":["../../src/api-intercept.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ts-embed.spec.d.ts","sourceRoot":"","sources":["../../../src/embed/ts-embed.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ts-embed.spec.d.ts","sourceRoot":"","sources":["../../../src/embed/ts-embed.spec.ts"],"names":[],"mappings":"AAsFA,eAAO,MAAM,iCAAiC,QAAgJ,CAAC;AAC/L,eAAO,MAAM,aAAa,QAAmF,CAAC"}
|
|
@@ -23,6 +23,13 @@ const processTrigger_1 = require("../utils/processTrigger");
|
|
|
23
23
|
const contracts_1 = require("./hostEventClient/contracts");
|
|
24
24
|
const sessionInfoService = tslib_1.__importStar(require("../utils/sessionInfoService"));
|
|
25
25
|
const authToken = tslib_1.__importStar(require("../authToken"));
|
|
26
|
+
// Mock api-intercept by default to avoid altering existing APP_INIT payload
|
|
27
|
+
// expectations
|
|
28
|
+
jest.mock('../api-intercept', () => ({
|
|
29
|
+
getInterceptInitData: jest.fn(() => ({})),
|
|
30
|
+
handleInterceptEvent: jest.fn(),
|
|
31
|
+
processLegacyInterceptResponse: jest.fn((x) => x),
|
|
32
|
+
}));
|
|
26
33
|
jest.mock('../utils/processTrigger');
|
|
27
34
|
const mockProcessTrigger = processTrigger_1.processTrigger;
|
|
28
35
|
const defaultViewConfig = {
|
|
@@ -2869,4 +2876,82 @@ describe('Unit test case for ts embed', () => {
|
|
|
2869
2876
|
});
|
|
2870
2877
|
});
|
|
2871
2878
|
});
|
|
2879
|
+
describe('API Intercept integration in TsEmbed', () => {
|
|
2880
|
+
beforeEach(() => {
|
|
2881
|
+
document.body.innerHTML = (0, test_utils_1.getDocumentBody)();
|
|
2882
|
+
jest.clearAllMocks();
|
|
2883
|
+
});
|
|
2884
|
+
test('APP_INIT includes API intercept init data when enabled', async () => {
|
|
2885
|
+
(0, index_1.init)({
|
|
2886
|
+
thoughtSpotHost: 'tshost',
|
|
2887
|
+
authType: index_1.AuthType.None,
|
|
2888
|
+
enableApiIntercept: true,
|
|
2889
|
+
interceptTimeout: 1234,
|
|
2890
|
+
});
|
|
2891
|
+
// Include intercept setup via viewConfig too
|
|
2892
|
+
const { InterceptedApiType } = require('../types');
|
|
2893
|
+
// Override mocked getInterceptInitData for this test only
|
|
2894
|
+
const apiInterceptModule = require('../api-intercept');
|
|
2895
|
+
apiInterceptModule.getInterceptInitData.mockReturnValue({
|
|
2896
|
+
enableApiIntercept: true,
|
|
2897
|
+
interceptTimeout: 1234,
|
|
2898
|
+
interceptUrls: [
|
|
2899
|
+
'http://tshost/prism/?op=CreateAnswerSession',
|
|
2900
|
+
'http://tshost/prism/?op=GetV2SourceDetail',
|
|
2901
|
+
'http://tshost/custom/path',
|
|
2902
|
+
],
|
|
2903
|
+
});
|
|
2904
|
+
const searchEmbed = new index_1.SearchEmbed((0, test_utils_1.getRootEl)(), {
|
|
2905
|
+
...defaultViewConfig,
|
|
2906
|
+
enableApiIntercept: true,
|
|
2907
|
+
interceptUrls: [InterceptedApiType.METADATA, '/custom/path'],
|
|
2908
|
+
});
|
|
2909
|
+
searchEmbed.render();
|
|
2910
|
+
const mockPort = { postMessage: jest.fn() };
|
|
2911
|
+
const mockEmbedEventPayload = { type: index_1.EmbedEvent.APP_INIT, data: {} };
|
|
2912
|
+
await (0, test_utils_1.executeAfterWait)(() => {
|
|
2913
|
+
const iframe = (0, test_utils_1.getIFrameEl)();
|
|
2914
|
+
(0, test_utils_1.postMessageToParent)(iframe.contentWindow, mockEmbedEventPayload, mockPort);
|
|
2915
|
+
});
|
|
2916
|
+
await (0, test_utils_1.executeAfterWait)(() => {
|
|
2917
|
+
expect(mockPort.postMessage).toHaveBeenCalledWith(expect.objectContaining({
|
|
2918
|
+
type: index_1.EmbedEvent.APP_INIT,
|
|
2919
|
+
data: expect.objectContaining({
|
|
2920
|
+
enableApiIntercept: true,
|
|
2921
|
+
interceptTimeout: 1234,
|
|
2922
|
+
interceptUrls: expect.arrayContaining([
|
|
2923
|
+
expect.stringContaining('CreateAnswerSession'),
|
|
2924
|
+
expect.stringContaining('GetV2SourceDetail'),
|
|
2925
|
+
expect.stringContaining('custom/path'),
|
|
2926
|
+
]),
|
|
2927
|
+
}),
|
|
2928
|
+
}));
|
|
2929
|
+
});
|
|
2930
|
+
});
|
|
2931
|
+
test('ApiIntercept event delegates to handleInterceptEvent and bypasses default callbacks', async () => {
|
|
2932
|
+
(0, index_1.init)({ thoughtSpotHost: 'tshost', authType: index_1.AuthType.None });
|
|
2933
|
+
const apiInterceptModule = require('../api-intercept');
|
|
2934
|
+
const handleInterceptSpy = jest.spyOn(apiInterceptModule, 'handleInterceptEvent').mockResolvedValue(undefined);
|
|
2935
|
+
const searchEmbed = new index_1.SearchEmbed((0, test_utils_1.getRootEl)(), {
|
|
2936
|
+
...defaultViewConfig,
|
|
2937
|
+
enableApiIntercept: true,
|
|
2938
|
+
});
|
|
2939
|
+
const apiCb = jest.fn();
|
|
2940
|
+
searchEmbed.on(index_1.EmbedEvent.ApiIntercept, apiCb);
|
|
2941
|
+
searchEmbed.render();
|
|
2942
|
+
const mockPort = { postMessage: jest.fn() };
|
|
2943
|
+
const eventPayload = {
|
|
2944
|
+
type: index_1.EmbedEvent.ApiIntercept,
|
|
2945
|
+
data: JSON.stringify({ input: '/prism/?op=GetChartWithData', init: { body: '{}' } }),
|
|
2946
|
+
};
|
|
2947
|
+
await (0, test_utils_1.executeAfterWait)(() => {
|
|
2948
|
+
const iframe = (0, test_utils_1.getIFrameEl)();
|
|
2949
|
+
(0, test_utils_1.postMessageToParent)(iframe.contentWindow, eventPayload, mockPort);
|
|
2950
|
+
});
|
|
2951
|
+
await (0, test_utils_1.executeAfterWait)(() => {
|
|
2952
|
+
expect(handleInterceptSpy).toHaveBeenCalled();
|
|
2953
|
+
expect(apiCb).not.toHaveBeenCalled();
|
|
2954
|
+
});
|
|
2955
|
+
});
|
|
2956
|
+
});
|
|
2872
2957
|
//# sourceMappingURL=ts-embed.spec.js.map
|