@progress/sitefinity-webservices-sdk 1.1.15 → 2.0.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 +84 -51
- package/esm/chunks/chunk-2ID24RPE.mjs +179 -0
- package/esm/chunks/chunk-2ID24RPE.mjs.map +7 -0
- package/esm/chunks/chunk-AHDZ2CWQ.mjs +93 -0
- package/esm/chunks/chunk-AHDZ2CWQ.mjs.map +7 -0
- package/esm/chunks/chunk-BFLQBM7R.mjs +136 -0
- package/esm/chunks/chunk-BFLQBM7R.mjs.map +7 -0
- package/esm/chunks/chunk-CMGV26CS.mjs +66 -0
- package/esm/chunks/chunk-CMGV26CS.mjs.map +7 -0
- package/esm/chunks/chunk-DHWDJAGV.mjs +180 -0
- package/esm/chunks/chunk-DHWDJAGV.mjs.map +7 -0
- package/esm/chunks/chunk-EH4CERVO.mjs +82 -0
- package/esm/chunks/chunk-EH4CERVO.mjs.map +7 -0
- package/esm/chunks/chunk-F4CWOE7M.mjs +57 -0
- package/esm/chunks/chunk-F4CWOE7M.mjs.map +7 -0
- package/esm/chunks/chunk-FUFBYOIF.mjs +98 -0
- package/esm/chunks/chunk-FUFBYOIF.mjs.map +7 -0
- package/esm/chunks/chunk-J2B7UDVZ.mjs +132 -0
- package/esm/chunks/chunk-J2B7UDVZ.mjs.map +7 -0
- package/esm/chunks/chunk-L3IMDFA5.mjs +1 -0
- package/esm/chunks/chunk-L3IMDFA5.mjs.map +7 -0
- package/esm/chunks/chunk-NNYY2VBC.mjs +383 -0
- package/esm/chunks/chunk-NNYY2VBC.mjs.map +7 -0
- package/esm/chunks/chunk-PI55MBSL.mjs +256 -0
- package/esm/chunks/chunk-PI55MBSL.mjs.map +7 -0
- package/esm/chunks/chunk-PXPK2IV6.mjs +568 -0
- package/esm/chunks/chunk-PXPK2IV6.mjs.map +7 -0
- package/esm/chunks/chunk-QPSEKUOI.mjs +35 -0
- package/esm/chunks/chunk-QPSEKUOI.mjs.map +7 -0
- package/esm/chunks/chunk-RQAAYOY6.mjs +72 -0
- package/esm/chunks/chunk-RQAAYOY6.mjs.map +7 -0
- package/esm/chunks/chunk-TTVNTTW5.mjs +145 -0
- package/esm/chunks/chunk-TTVNTTW5.mjs.map +7 -0
- package/esm/chunks/chunk-VLDX2FH2.mjs +235 -0
- package/esm/chunks/chunk-VLDX2FH2.mjs.map +7 -0
- package/esm/chunks/chunk-VWT2RJET.mjs +102 -0
- package/esm/chunks/chunk-VWT2RJET.mjs.map +7 -0
- package/esm/chunks/chunk-W2OWM3L7.mjs +19 -0
- package/esm/chunks/chunk-W2OWM3L7.mjs.map +7 -0
- package/esm/chunks/chunk-WX5J7F5D.mjs +43 -0
- package/esm/chunks/chunk-WX5J7F5D.mjs.map +7 -0
- package/esm/chunks/chunk-YB2LMPUX.mjs +54 -0
- package/esm/chunks/chunk-YB2LMPUX.mjs.map +7 -0
- package/package.json +67 -36
- package/sitefinity-webservices-sdk.cjs +2761 -0
- package/sitefinity-webservices-sdk.cjs.map +7 -0
- package/sitefinity-webservices-sdk.d.mts +1 -0
- package/{dist/sitefinity-webservices-sdk.d.ts → sitefinity-webservices-sdk.d.ts} +6 -0
- package/sitefinity-webservices-sdk.global.d.ts +5 -0
- package/sitefinity-webservices-sdk.js +2764 -0
- package/sitefinity-webservices-sdk.js.map +7 -0
- package/sitefinity-webservices-sdk.min.js +3 -0
- package/sitefinity-webservices-sdk.mjs +124 -0
- package/sitefinity-webservices-sdk.mjs.map +7 -0
- package/src/BlobBuilder.d.ts +12 -0
- package/src/Data.d.ts +259 -0
- package/src/Expression.d.ts +37 -0
- package/src/OrderProperty.d.ts +24 -0
- package/src/Query.d.ts +104 -0
- package/src/QueryBase.d.ts +40 -0
- package/src/QueryBuilder.d.ts +29 -0
- package/src/Requests/BatchRequest.d.ts +174 -0
- package/src/Requests/ExecutableRequest.d.ts +43 -0
- package/src/Requests/Request.d.ts +225 -0
- package/src/Requests/RequestBase.d.ts +58 -0
- package/{dist/src → src}/Requests/RequestFactory.d.ts +24 -2
- package/src/Sitefinity.d.ts +141 -0
- package/src/Transport/FetchTransport.d.ts +17 -0
- package/src/Transport/HttpTransport.d.ts +69 -0
- package/src/Transport/XhrTransport.d.ts +8 -0
- package/src/WhereQuery.d.ts +88 -0
- package/src/chunk-upload/chunk-upload.sdk.d.ts +305 -0
- package/src/chunk-upload/chunked-file-upload.utilities.d.ts +58 -0
- package/{dist/src → src}/constants.d.ts +21 -0
- package/src/utils.d.ts +103 -0
- package/.editorconfig +0 -29
- package/.eslintignore +0 -4
- package/.eslintrc.js +0 -40
- package/config/helpers.ts +0 -8
- package/config/webpack.common.ts +0 -39
- package/config/webpack.dev.ts +0 -37
- package/config/webpack.prod.ts +0 -17
- package/dist/docs/.nojekyll +0 -1
- package/dist/docs/assets/highlight.css +0 -71
- package/dist/docs/assets/main.js +0 -58
- package/dist/docs/assets/search.js +0 -1
- package/dist/docs/assets/style.css +0 -1280
- package/dist/docs/classes/BlobBuilder.BlobBuilder.html +0 -137
- package/dist/docs/classes/Data.Data.html +0 -387
- package/dist/docs/classes/Expression.BinaryExpression.html +0 -184
- package/dist/docs/classes/Expression.ComplexExpression.html +0 -146
- package/dist/docs/classes/Expression.ExpressionBase.html +0 -125
- package/dist/docs/classes/OrderProperty.OrderProperty.html +0 -151
- package/dist/docs/classes/Query.Query.html +0 -353
- package/dist/docs/classes/QueryBase.QueryBase.html +0 -185
- package/dist/docs/classes/QueryBuilder.QueryBuilder.html +0 -206
- package/dist/docs/classes/Requests_BatchRequest.BatchRequest.html +0 -731
- package/dist/docs/classes/Requests_BatchRequest.Transaction.html +0 -332
- package/dist/docs/classes/Requests_ExecutableRequest.ExecutableRequest.html +0 -340
- package/dist/docs/classes/Requests_Request.CommitChunksRequest.html +0 -303
- package/dist/docs/classes/Requests_Request.CreateRelatedRequest.html +0 -310
- package/dist/docs/classes/Requests_Request.CreateRequest.html +0 -307
- package/dist/docs/classes/Requests_Request.DeleteRelatedByIdRequest.html +0 -309
- package/dist/docs/classes/Requests_Request.DeleteRelatedRequest.html +0 -302
- package/dist/docs/classes/Requests_Request.DeleteRequest.html +0 -298
- package/dist/docs/classes/Requests_Request.GetByIdRequest.html +0 -298
- package/dist/docs/classes/Requests_Request.GetRelatedByIdRequest.html +0 -309
- package/dist/docs/classes/Requests_Request.GetRelatedRequest.html +0 -302
- package/dist/docs/classes/Requests_Request.GetRequest.html +0 -295
- package/dist/docs/classes/Requests_Request.UpdateRequest.html +0 -309
- package/dist/docs/classes/Requests_Request.UploadChunkRequest.html +0 -359
- package/dist/docs/classes/Requests_Request.UploadRequest.html +0 -329
- package/dist/docs/classes/Requests_RequestBase.RequestBase.html +0 -275
- package/dist/docs/classes/Requests_RequestFactory.RequestFactory.html +0 -344
- package/dist/docs/classes/Sitefinity.Sitefinity.html +0 -188
- package/dist/docs/classes/WhereQuery.WhereQuery.html +0 -436
- package/dist/docs/classes/chunk_upload_chunk_upload_sdk.ChunkUploadSdk.html +0 -231
- package/dist/docs/classes/chunk_upload_chunked_file_upload_utilities.ChunkedFileUploadUtilities.html +0 -131
- package/dist/docs/classes/utils.utils.html +0 -303
- package/dist/docs/index.html +0 -129
- package/dist/docs/interfaces/Data.CreateRelatedRequestOptions.html +0 -155
- package/dist/docs/interfaces/Data.CreateRequestOptions.html +0 -153
- package/dist/docs/interfaces/Data.OperationsRequestOptions.html +0 -145
- package/dist/docs/interfaces/Data.PropertyRequestOptions.html +0 -149
- package/dist/docs/interfaces/Data.RequestOptionsBase.html +0 -136
- package/dist/docs/interfaces/Data.SingleRelatedItemRequestOptions.html +0 -155
- package/dist/docs/interfaces/Data.UpdateRequestOptions.html +0 -155
- package/dist/docs/interfaces/Data.UploadRequestOptions.html +0 -169
- package/dist/docs/interfaces/Requests_BatchRequest.BatchCreateRelatedRequestOptions.html +0 -161
- package/dist/docs/interfaces/Requests_BatchRequest.BatchCreateRequestOptions.html +0 -153
- package/dist/docs/interfaces/Requests_BatchRequest.BatchPropertyRequestOptions.html +0 -153
- package/dist/docs/interfaces/Requests_BatchRequest.BatchRequestOptionsBase.html +0 -145
- package/dist/docs/interfaces/Requests_BatchRequest.BatchRequestOptionsExtended.html +0 -153
- package/dist/docs/interfaces/Requests_BatchRequest.BatchSingleItemRequestOptions.html +0 -145
- package/dist/docs/interfaces/Requests_BatchRequest.BatchSingleRelatedItemRequestOptions.html +0 -161
- package/dist/docs/interfaces/Requests_BatchRequest.BatchUpdateRequestOptions.html +0 -161
- package/dist/docs/interfaces/Requests_ExecutableRequest.ResponseHandlers.html +0 -98
- package/dist/docs/interfaces/Requests_Request.CommitChunksRequestOptionsExtended.html +0 -215
- package/dist/docs/interfaces/Requests_Request.PostRequestOptionsExtended.html +0 -159
- package/dist/docs/interfaces/Requests_Request.PutRequestOptionsExtended.html +0 -161
- package/dist/docs/interfaces/Requests_Request.RelatedByIdRequestOptionsExtended.html +0 -169
- package/dist/docs/interfaces/Requests_Request.RelatedRequestOptionsExtended.html +0 -163
- package/dist/docs/interfaces/Requests_Request.UploadChunkRequestOptionsExtended.html +0 -217
- package/dist/docs/interfaces/Requests_Request.UploadRequestOptionsExtended.html +0 -180
- package/dist/docs/interfaces/Requests_RequestBase.RequestOptionsBaseExtended.html +0 -148
- package/dist/docs/interfaces/Sitefinity.SDKOptions.html +0 -128
- package/dist/docs/interfaces/Sitefinity.Token.html +0 -94
- package/dist/docs/interfaces/Sitefinity.TypeOptions.html +0 -160
- package/dist/docs/interfaces/chunk_upload_chunk_upload_sdk.ChunkUploadInfoDTO.html +0 -159
- package/dist/docs/interfaces/chunk_upload_chunk_upload_sdk.ChunkUploadResult.html +0 -111
- package/dist/docs/interfaces/chunk_upload_chunk_upload_sdk.CleanUpChunksRequestOptions.html +0 -171
- package/dist/docs/interfaces/chunk_upload_chunk_upload_sdk.CommitChunksRequestOptions.html +0 -204
- package/dist/docs/interfaces/chunk_upload_chunk_upload_sdk.GetChunkUploadInfoRequestOptions.html +0 -166
- package/dist/docs/interfaces/chunk_upload_chunk_upload_sdk.UploadChunkRequestOptions.html +0 -206
- package/dist/docs/interfaces/chunk_upload_chunked_file_upload_utilities.ChunkFileResult.html +0 -101
- package/dist/docs/interfaces/chunk_upload_chunked_file_upload_utilities.FileUploadChunk.html +0 -94
- package/dist/docs/modules/BlobBuilder.html +0 -73
- package/dist/docs/modules/Data.html +0 -92
- package/dist/docs/modules/Expression.html +0 -77
- package/dist/docs/modules/OrderProperty.html +0 -73
- package/dist/docs/modules/Query.html +0 -73
- package/dist/docs/modules/QueryBase.html +0 -73
- package/dist/docs/modules/QueryBuilder.html +0 -73
- package/dist/docs/modules/Requests_BatchRequest.html +0 -94
- package/dist/docs/modules/Requests_ExecutableRequest.html +0 -78
- package/dist/docs/modules/Requests_Request.html +0 -114
- package/dist/docs/modules/Requests_RequestBase.html +0 -78
- package/dist/docs/modules/Requests_RequestFactory.html +0 -73
- package/dist/docs/modules/Sitefinity.html +0 -82
- package/dist/docs/modules/WhereQuery.html +0 -73
- package/dist/docs/modules/chunk_upload_chunk_upload_sdk.html +0 -88
- package/dist/docs/modules/chunk_upload_chunked_file_upload_utilities.html +0 -80
- package/dist/docs/modules/constants.html +0 -83
- package/dist/docs/modules/utils.html +0 -73
- package/dist/docs/modules.html +0 -80
- package/dist/docs/variables/constants.CONTENT_TYPES.html +0 -76
- package/dist/docs/variables/constants.EXPRESSION_TYPE.html +0 -106
- package/dist/docs/variables/constants.HEADER_NAMES.html +0 -102
- package/dist/docs/variables/constants.HTTP_METHODS.html +0 -84
- package/dist/docs/variables/constants.ODATA_PARAMS.html +0 -90
- package/dist/docs/variables/constants.SF_PARAMS.html +0 -84
- package/dist/samples.html +0 -625
- package/dist/sitefinity-webservices-sdk.js +0 -3125
- package/dist/sitefinity-webservices-sdk.js.map +0 -1
- package/dist/sitefinity-webservices-sdk.min.js +0 -1
- package/dist/src/BlobBuilder.d.ts +0 -14
- package/dist/src/Data.d.ts +0 -154
- package/dist/src/Data.spec.d.ts +0 -1
- package/dist/src/Expression.d.ts +0 -19
- package/dist/src/OrderProperty.d.ts +0 -8
- package/dist/src/Query.d.ts +0 -59
- package/dist/src/QueryBase.d.ts +0 -18
- package/dist/src/QueryBuilder.d.ts +0 -13
- package/dist/src/Requests/BatchRequest.d.ts +0 -146
- package/dist/src/Requests/ExecutableRequest.d.ts +0 -22
- package/dist/src/Requests/Request.d.ts +0 -132
- package/dist/src/Requests/RequestBase.d.ts +0 -27
- package/dist/src/Requests/request.spec.d.ts +0 -1
- package/dist/src/Sitefinity.d.ts +0 -75
- package/dist/src/Sitefinity.spec.d.ts +0 -1
- package/dist/src/WhereQuery.d.ts +0 -72
- package/dist/src/chunk-upload/chunk-upload.sdk.d.ts +0 -295
- package/dist/src/chunk-upload/chunk-upload.sdk.spec.d.ts +0 -1
- package/dist/src/chunk-upload/chunked-file-upload.utilities.d.ts +0 -13
- package/dist/src/utils.d.ts +0 -16
- package/karma.conf.js +0 -29
- package/sitefinity-webservices-sdk.ts +0 -15
- package/src/BlobBuilder.ts +0 -20
- package/src/Data.spec.ts +0 -160
- package/src/Data.ts +0 -418
- package/src/Expression.ts +0 -36
- package/src/OrderProperty.ts +0 -39
- package/src/Query.ts +0 -106
- package/src/QueryBase.ts +0 -57
- package/src/QueryBuilder.ts +0 -180
- package/src/Requests/BatchRequest.ts +0 -807
- package/src/Requests/ExecutableRequest.ts +0 -117
- package/src/Requests/Request.ts +0 -327
- package/src/Requests/RequestBase.ts +0 -163
- package/src/Requests/RequestFactory.ts +0 -75
- package/src/Requests/request.spec.ts +0 -132
- package/src/Sitefinity.spec.ts +0 -483
- package/src/Sitefinity.ts +0 -125
- package/src/WhereQuery.ts +0 -145
- package/src/chunk-upload/chunk-upload.sdk.spec.ts +0 -342
- package/src/chunk-upload/chunk-upload.sdk.ts +0 -439
- package/src/chunk-upload/chunked-file-upload.utilities.ts +0 -64
- package/src/constants.ts +0 -66
- package/src/utils.ts +0 -125
- package/template.html +0 -625
- package/tsconfig.json +0 -38
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import { Query } from "../Query";
|
|
2
|
-
import { Sitefinity } from "../Sitefinity";
|
|
3
|
-
|
|
4
|
-
describe("SDK basic tests", () => {
|
|
5
|
-
const baseUrl = "http://www.mysite.com/api/default/";
|
|
6
|
-
let sitefinity: Sitefinity;
|
|
7
|
-
let query: Query;
|
|
8
|
-
|
|
9
|
-
beforeEach(function () {
|
|
10
|
-
jasmine.Ajax.install();
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
afterEach(function () {
|
|
14
|
-
jasmine.Ajax.uninstall();
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
beforeAll(() => {
|
|
18
|
-
sitefinity = new Sitefinity({
|
|
19
|
-
baseUrl
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
query = new Sitefinity.Query();
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
it("query assert", () => {
|
|
26
|
-
const testQuery = (query.where().and().endsWith("Title", "Record").done() as any).or().startsWith("Title", "asd").done().done();
|
|
27
|
-
const resultingQuery = testQuery.build();
|
|
28
|
-
expect(resultingQuery.$filter).toEqual("(endswith(Title, 'Record')) and (startswith(Title, 'asd'))");
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
it("complex query assert", () => {
|
|
32
|
-
const testQuery = query.where().not().endsWith("Record", "Title").done().and().not().eq("Content", "test").done().done().done();
|
|
33
|
-
const resultingQuery = testQuery.build();
|
|
34
|
-
expect(resultingQuery.$filter).toEqual("(not endswith(Record, 'Title')) and ((not (Content eq 'test')))");
|
|
35
|
-
});
|
|
36
|
-
|
|
37
|
-
it("query count assert", () => {
|
|
38
|
-
const data = sitefinity.data({
|
|
39
|
-
entitySet: "newsitems"
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
data.get({ query: query.count(false) });
|
|
43
|
-
|
|
44
|
-
let request = jasmine.Ajax.requests.mostRecent();
|
|
45
|
-
expect(request.url).toBe("http://www.mysite.com/api/default/newsitems/$count");
|
|
46
|
-
|
|
47
|
-
data.get({ query: query.count(true) });
|
|
48
|
-
|
|
49
|
-
request = jasmine.Ajax.requests.mostRecent();
|
|
50
|
-
expect(request.url).toBe("http://www.mysite.com/api/default/newsitems?$count=true");
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
it("request assert", () => {
|
|
54
|
-
sitefinity.data({
|
|
55
|
-
entitySet: "newsitems",
|
|
56
|
-
provider: "newsProvider",
|
|
57
|
-
culture: "en-US"
|
|
58
|
-
}).get({ query: null });
|
|
59
|
-
|
|
60
|
-
const request = jasmine.Ajax.requests.mostRecent();
|
|
61
|
-
expect(request.url).toBe("http://www.mysite.com/api/default/newsitems?sf_provider=newsProvider&sf_culture=en-US");
|
|
62
|
-
expect(request.method).toBe("GET");
|
|
63
|
-
expect(request.data()).toEqual({});
|
|
64
|
-
});
|
|
65
|
-
|
|
66
|
-
it("batch assert", async () => {
|
|
67
|
-
const batch = sitefinity.batch();
|
|
68
|
-
const getQuery = query.where().eq("Title", "newTitleN11").done();
|
|
69
|
-
|
|
70
|
-
batch.get({
|
|
71
|
-
entitySet: "newsitems",
|
|
72
|
-
query: getQuery
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
const transaction = batch.beginTransaction();
|
|
76
|
-
|
|
77
|
-
transaction.create({
|
|
78
|
-
entitySet: "newsitems",
|
|
79
|
-
data: { title: "Test" }
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
batch.endTransaction(transaction);
|
|
83
|
-
(batch as any).execute();
|
|
84
|
-
|
|
85
|
-
const request = jasmine.Ajax.requests.mostRecent();
|
|
86
|
-
expect(request.url).toBe("http://www.mysite.com/api/default/$batch");
|
|
87
|
-
expect(request.method).toBe("POST");
|
|
88
|
-
|
|
89
|
-
await readBlobAsText(request.params).then((result) => {
|
|
90
|
-
expect(result).toContain("{\"title\":\"Test\"}");
|
|
91
|
-
});
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
it("query assert string values", () => {
|
|
95
|
-
const testQuery = (query.where().and()
|
|
96
|
-
.endsWith("Title", "9f024c1c-9e6f-483e-a8a6-d962b93956ea").done() as any)
|
|
97
|
-
.or().startsWith("Title", "9f024c1c-9e6f-483e-a8a6-d962b93956ea")
|
|
98
|
-
.or().contains("Title", "9f024c1c-9e6f-483e-a8a6-d962b93956ea")
|
|
99
|
-
.done().done().done();
|
|
100
|
-
|
|
101
|
-
const resultingQuery = testQuery.build();
|
|
102
|
-
expect(resultingQuery.$filter).toEqual("(endswith(Title, '9f024c1c-9e6f-483e-a8a6-d962b93956ea')) and (startswith(Title, '9f024c1c-9e6f-483e-a8a6-d962b93956ea') or (contains(Title, '9f024c1c-9e6f-483e-a8a6-d962b93956ea')))");
|
|
103
|
-
});
|
|
104
|
-
|
|
105
|
-
it("query assert filter with in correctly builds the query", () => {
|
|
106
|
-
const testQuery = query.where().in("Id", ["1", "2", "3"]).done();
|
|
107
|
-
|
|
108
|
-
const resultingQuery = testQuery.build();
|
|
109
|
-
expect(resultingQuery.$filter).toEqual("Id in (1, 2, 3)");
|
|
110
|
-
});
|
|
111
|
-
|
|
112
|
-
it("query assert filter with in throws error when constant is not array", () => {
|
|
113
|
-
const testQuery = query.where().in("Id", "1, 2, 3").done();
|
|
114
|
-
|
|
115
|
-
expect(() => testQuery.build()).toThrow(new Error("Parameter is not an array!"));
|
|
116
|
-
});
|
|
117
|
-
|
|
118
|
-
function readBlobAsText(blob: Blob): Promise<string> {
|
|
119
|
-
return new Promise((resolve, reject) => {
|
|
120
|
-
const reader = new FileReader();
|
|
121
|
-
|
|
122
|
-
reader.onload = () => {
|
|
123
|
-
resolve(<string>reader.result);
|
|
124
|
-
};
|
|
125
|
-
|
|
126
|
-
reader.onerror = () => {
|
|
127
|
-
reject();
|
|
128
|
-
};
|
|
129
|
-
reader.readAsText(blob);
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
});
|
package/src/Sitefinity.spec.ts
DELETED
|
@@ -1,483 +0,0 @@
|
|
|
1
|
-
import { SF_PARAMS, HEADER_NAMES } from "./constants";
|
|
2
|
-
import { ResponseHandlers } from "./Requests/ExecutableRequest";
|
|
3
|
-
import { Sitefinity } from "./Sitefinity";
|
|
4
|
-
|
|
5
|
-
describe("Base SDK tests", () => {
|
|
6
|
-
const baseUrl = "http://www.mysite.com/api/default/";
|
|
7
|
-
const batchResponse = `--batchresponse_ab4d3fab-5bee-4ea0-ba40-723ea40d1c32\r
|
|
8
|
-
Content-Type: application/http\r
|
|
9
|
-
Content-Transfer-Encoding: binary\r
|
|
10
|
-
\r
|
|
11
|
-
HTTP/1.1 200 OK\r
|
|
12
|
-
Cache-Control: no-store, must-revalidate, no-cache\r
|
|
13
|
-
Access-Control-Allow-Origin: *\r
|
|
14
|
-
Content-Type: text/plain\r
|
|
15
|
-
OData-Version: 4.0\r
|
|
16
|
-
\r
|
|
17
|
-
1\r
|
|
18
|
-
--batchresponse_ab4d3fab-5bee-4ea0-ba40-723ea40d1c32--\r
|
|
19
|
-
`;
|
|
20
|
-
let sitefinity: Sitefinity;
|
|
21
|
-
|
|
22
|
-
beforeEach(() => {
|
|
23
|
-
jasmine.Ajax.install();
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
afterEach(() => {
|
|
27
|
-
jasmine.Ajax.uninstall();
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
beforeAll(() => {
|
|
31
|
-
sitefinity = new Sitefinity({
|
|
32
|
-
baseUrl
|
|
33
|
-
});
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
describe("SDK options tests", () => {
|
|
37
|
-
it("Verify baseUrl from SDK options wiht slash", () => {
|
|
38
|
-
const url = "/";
|
|
39
|
-
const sdk = new Sitefinity({
|
|
40
|
-
baseUrl: url
|
|
41
|
-
});
|
|
42
|
-
sdk.data({}).get({});
|
|
43
|
-
|
|
44
|
-
const request = jasmine.Ajax.requests.mostRecent();
|
|
45
|
-
expect(request.url).toBe(url);
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
it("Verify baseUrl from SDK options with relative path", () => {
|
|
49
|
-
const url = "/sub";
|
|
50
|
-
const sdk = new Sitefinity({
|
|
51
|
-
baseUrl: url
|
|
52
|
-
});
|
|
53
|
-
sdk.data({}).get({});
|
|
54
|
-
|
|
55
|
-
const request = jasmine.Ajax.requests.mostRecent();
|
|
56
|
-
expect(request.url).toBe(url + "/");
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
it("Verify baseUrl from SDK options with relative path and slash", () => {
|
|
60
|
-
const url = "/sub/";
|
|
61
|
-
const sdk = new Sitefinity({
|
|
62
|
-
baseUrl: url
|
|
63
|
-
});
|
|
64
|
-
sdk.data({}).get({});
|
|
65
|
-
|
|
66
|
-
const request = jasmine.Ajax.requests.mostRecent();
|
|
67
|
-
expect(request.url).toBe(url);
|
|
68
|
-
});
|
|
69
|
-
|
|
70
|
-
it("Verify baseUrl from SDK options", () => {
|
|
71
|
-
const url = "http://www.mysite.com/api/default/v2/";
|
|
72
|
-
const sdk = new Sitefinity({
|
|
73
|
-
baseUrl: url
|
|
74
|
-
});
|
|
75
|
-
sdk.data({}).get({});
|
|
76
|
-
|
|
77
|
-
const request = jasmine.Ajax.requests.mostRecent();
|
|
78
|
-
expect(request.url).toBe(url);
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
it("Verify siteId from SDK options", () => {
|
|
82
|
-
const siteId = "mySiteId";
|
|
83
|
-
const sdk = new Sitefinity({
|
|
84
|
-
baseUrl: "http://www.mysite.com/api/default/v2/",
|
|
85
|
-
siteId: siteId
|
|
86
|
-
});
|
|
87
|
-
sdk.data({}).get({});
|
|
88
|
-
|
|
89
|
-
const request = jasmine.Ajax.requests.mostRecent();
|
|
90
|
-
expect(request.url).toContain(`${SF_PARAMS.siteId}=${siteId}`);
|
|
91
|
-
});
|
|
92
|
-
|
|
93
|
-
it("Verify enableUnlimitedChoices from SDK options", () => {
|
|
94
|
-
let sdk = new Sitefinity({
|
|
95
|
-
baseUrl: "http://www.mysite.com/api/default/v2/",
|
|
96
|
-
enableUnlimitedChoices: true
|
|
97
|
-
});
|
|
98
|
-
sdk.data({}).get({});
|
|
99
|
-
|
|
100
|
-
let request = jasmine.Ajax.requests.mostRecent();
|
|
101
|
-
expect(request.requestHeaders[HEADER_NAMES.choicesBinaryRepresentation]).toBe("true");
|
|
102
|
-
|
|
103
|
-
sdk = new Sitefinity({
|
|
104
|
-
baseUrl: "http://www.mysite.com/api/default/v2/",
|
|
105
|
-
enableUnlimitedChoices: false
|
|
106
|
-
});
|
|
107
|
-
sdk.data({}).get({});
|
|
108
|
-
|
|
109
|
-
request = jasmine.Ajax.requests.mostRecent();
|
|
110
|
-
expect(request.requestHeaders[HEADER_NAMES.choicesBinaryRepresentation]).toBeUndefined();
|
|
111
|
-
});
|
|
112
|
-
|
|
113
|
-
it("Verify integrationMode from SDK options", () => {
|
|
114
|
-
let sdk = new Sitefinity({
|
|
115
|
-
baseUrl: "http://www.mysite.com/api/default/v2/",
|
|
116
|
-
integrationMode: true
|
|
117
|
-
});
|
|
118
|
-
sdk.data({}).get({});
|
|
119
|
-
|
|
120
|
-
let request = jasmine.Ajax.requests.mostRecent();
|
|
121
|
-
expect(request.requestHeaders[HEADER_NAMES.integrationMode]).toBe("true");
|
|
122
|
-
|
|
123
|
-
sdk = new Sitefinity({
|
|
124
|
-
baseUrl: "http://www.mysite.com/api/default/v2/",
|
|
125
|
-
integrationMode: false
|
|
126
|
-
});
|
|
127
|
-
sdk.data({}).get({});
|
|
128
|
-
|
|
129
|
-
request = jasmine.Ajax.requests.mostRecent();
|
|
130
|
-
expect(request.requestHeaders[HEADER_NAMES.integrationMode]).toBeUndefined();
|
|
131
|
-
});
|
|
132
|
-
|
|
133
|
-
it("Verify global success handler from SDK options", () => {
|
|
134
|
-
const handlers: ResponseHandlers = {
|
|
135
|
-
successCb: () => {},
|
|
136
|
-
failureCb: () => {}
|
|
137
|
-
};
|
|
138
|
-
const successSpy = spyOn<ResponseHandlers, any>(handlers, "successCb");
|
|
139
|
-
const failureSpy = spyOn<ResponseHandlers, any>(handlers, "failureCb");
|
|
140
|
-
|
|
141
|
-
const sdk = new Sitefinity({
|
|
142
|
-
baseUrl: "http://www.mysite.com/api/default/v2/",
|
|
143
|
-
handlers
|
|
144
|
-
});
|
|
145
|
-
sdk.data({}).get({});
|
|
146
|
-
|
|
147
|
-
const request = jasmine.Ajax.requests.mostRecent();
|
|
148
|
-
request.respondWith({
|
|
149
|
-
status: 200,
|
|
150
|
-
responseText: "{\"message\":\"test\"}"
|
|
151
|
-
});
|
|
152
|
-
|
|
153
|
-
expect(successSpy).toHaveBeenCalledOnceWith({ message: "test" });
|
|
154
|
-
expect(failureSpy).not.toHaveBeenCalled();
|
|
155
|
-
});
|
|
156
|
-
|
|
157
|
-
it("Verify global failure handler from SDK options", () => {
|
|
158
|
-
const handlers: ResponseHandlers = {
|
|
159
|
-
successCb: () => {},
|
|
160
|
-
failureCb: () => {}
|
|
161
|
-
};
|
|
162
|
-
const successSpy = spyOn<ResponseHandlers, any>(handlers, "successCb");
|
|
163
|
-
const failureSpy = spyOn<ResponseHandlers, any>(handlers, "failureCb");
|
|
164
|
-
|
|
165
|
-
const sdk = new Sitefinity({
|
|
166
|
-
baseUrl: "http://www.mysite.com/api/default/v2/",
|
|
167
|
-
handlers
|
|
168
|
-
});
|
|
169
|
-
sdk.data({}).get({});
|
|
170
|
-
|
|
171
|
-
const request = jasmine.Ajax.requests.mostRecent();
|
|
172
|
-
request.respondWith({
|
|
173
|
-
status: 400,
|
|
174
|
-
responseText: "{\"message\":\"test\"}"
|
|
175
|
-
});
|
|
176
|
-
|
|
177
|
-
expect(failureSpy).toHaveBeenCalledOnceWith({ message: "test", status: 400 });
|
|
178
|
-
expect(successSpy).not.toHaveBeenCalled();
|
|
179
|
-
});
|
|
180
|
-
|
|
181
|
-
it("Verify token", () => {
|
|
182
|
-
const sdk = new Sitefinity({
|
|
183
|
-
baseUrl: "http://www.mysite.com/api/default/v2/"
|
|
184
|
-
});
|
|
185
|
-
sdk.data({}).get({});
|
|
186
|
-
|
|
187
|
-
let request = jasmine.Ajax.requests.mostRecent();
|
|
188
|
-
expect(request.requestHeaders[HEADER_NAMES.authorization]).toBeUndefined();
|
|
189
|
-
|
|
190
|
-
sdk.setToken({
|
|
191
|
-
type: "Bearer",
|
|
192
|
-
value: "123"
|
|
193
|
-
});
|
|
194
|
-
sdk.data({}).get({});
|
|
195
|
-
|
|
196
|
-
request = jasmine.Ajax.requests.mostRecent();
|
|
197
|
-
expect(request.requestHeaders[HEADER_NAMES.authorization]).toBe("Bearer 123");
|
|
198
|
-
});
|
|
199
|
-
});
|
|
200
|
-
|
|
201
|
-
describe("Type options tests", () => {
|
|
202
|
-
describe("for data()", () => {
|
|
203
|
-
it("Verify baseUrl is appended trailing slash", () => {
|
|
204
|
-
const url = "http://www.mysite.com/api/default/v2";
|
|
205
|
-
sitefinity.data({
|
|
206
|
-
baseUrl: url
|
|
207
|
-
}).get({});
|
|
208
|
-
|
|
209
|
-
let request = jasmine.Ajax.requests.mostRecent();
|
|
210
|
-
expect(request.url).toBe(`${url}/`);
|
|
211
|
-
|
|
212
|
-
const sdk = new Sitefinity({
|
|
213
|
-
baseUrl: url
|
|
214
|
-
});
|
|
215
|
-
sdk.data({}).get({});
|
|
216
|
-
|
|
217
|
-
request = jasmine.Ajax.requests.mostRecent();
|
|
218
|
-
expect(request.url).toBe(`${url}/`);
|
|
219
|
-
});
|
|
220
|
-
|
|
221
|
-
it("Verify baseUrl from type options overrides baseUrl from SDK options", () => {
|
|
222
|
-
const url = "http://www.mysite.com/api/default/v2/";
|
|
223
|
-
sitefinity.data({
|
|
224
|
-
baseUrl: url
|
|
225
|
-
}).get({});
|
|
226
|
-
|
|
227
|
-
const request = jasmine.Ajax.requests.mostRecent();
|
|
228
|
-
expect(request.url).toBe(url);
|
|
229
|
-
});
|
|
230
|
-
|
|
231
|
-
it("Verify siteId from type options overrides siteId from SDK options", () => {
|
|
232
|
-
const siteId = "mySiteId";
|
|
233
|
-
const sdk = new Sitefinity({
|
|
234
|
-
baseUrl: "http://www.mysite.com/api/default/v2/",
|
|
235
|
-
siteId: "test"
|
|
236
|
-
});
|
|
237
|
-
sdk.data({
|
|
238
|
-
siteId
|
|
239
|
-
}).get({});
|
|
240
|
-
|
|
241
|
-
const request = jasmine.Ajax.requests.mostRecent();
|
|
242
|
-
expect(request.url).toContain(`${SF_PARAMS.siteId}=${siteId}`);
|
|
243
|
-
});
|
|
244
|
-
|
|
245
|
-
it("Verify entitySet from type options", () => {
|
|
246
|
-
const entitySet = "newsitems";
|
|
247
|
-
|
|
248
|
-
sitefinity.data({
|
|
249
|
-
entitySet
|
|
250
|
-
}).get({});
|
|
251
|
-
|
|
252
|
-
const request = jasmine.Ajax.requests.mostRecent();
|
|
253
|
-
expect(request.url).toBe(`${baseUrl}${entitySet}`);
|
|
254
|
-
});
|
|
255
|
-
|
|
256
|
-
it("Verify provider from type options", () => {
|
|
257
|
-
const provider = "myProvider";
|
|
258
|
-
|
|
259
|
-
sitefinity.data({
|
|
260
|
-
provider
|
|
261
|
-
}).get({});
|
|
262
|
-
|
|
263
|
-
const request = jasmine.Ajax.requests.mostRecent();
|
|
264
|
-
expect(request.url).toContain(`${SF_PARAMS.provider}=${provider}`);
|
|
265
|
-
});
|
|
266
|
-
|
|
267
|
-
it("Verify culture from type options", () => {
|
|
268
|
-
const culture = "en";
|
|
269
|
-
|
|
270
|
-
sitefinity.data({
|
|
271
|
-
culture
|
|
272
|
-
}).get({});
|
|
273
|
-
|
|
274
|
-
const request = jasmine.Ajax.requests.mostRecent();
|
|
275
|
-
expect(request.url).toContain(`${SF_PARAMS.culture}=${culture}`);
|
|
276
|
-
});
|
|
277
|
-
|
|
278
|
-
it("Verify additional query params from type options", () => {
|
|
279
|
-
const additionalQueryParams = {
|
|
280
|
-
"p1": "test1",
|
|
281
|
-
"p2": "123",
|
|
282
|
-
};
|
|
283
|
-
|
|
284
|
-
sitefinity.data({
|
|
285
|
-
additionalQueryParams
|
|
286
|
-
}).get({});
|
|
287
|
-
|
|
288
|
-
const request = jasmine.Ajax.requests.mostRecent();
|
|
289
|
-
expect(request.url).toContain("p1=test1&p2=123");
|
|
290
|
-
});
|
|
291
|
-
|
|
292
|
-
it("Verify additional headers from type options", () => {
|
|
293
|
-
const additionalHeaders = {
|
|
294
|
-
"p1": "test1",
|
|
295
|
-
"p2": "123",
|
|
296
|
-
};
|
|
297
|
-
|
|
298
|
-
sitefinity.data({
|
|
299
|
-
additionalHeaders
|
|
300
|
-
}).get({});
|
|
301
|
-
|
|
302
|
-
additionalHeaders[HEADER_NAMES.serviceRequest] = "true";
|
|
303
|
-
|
|
304
|
-
const request = jasmine.Ajax.requests.mostRecent();
|
|
305
|
-
expect(request.requestHeaders).toEqual(additionalHeaders);
|
|
306
|
-
});
|
|
307
|
-
});
|
|
308
|
-
|
|
309
|
-
describe("for batch", () => {
|
|
310
|
-
it("Verify baseUrl is appended trailing slash", () => {
|
|
311
|
-
const url = "http://www.mysite.com/api/default/v2";
|
|
312
|
-
sitefinity.batch(undefined, undefined, undefined, {
|
|
313
|
-
baseUrl: url
|
|
314
|
-
}).execute();
|
|
315
|
-
|
|
316
|
-
let request = jasmine.Ajax.requests.mostRecent();
|
|
317
|
-
expect(request.url).toBe(`${url}/$batch`);
|
|
318
|
-
|
|
319
|
-
const sdk = new Sitefinity({
|
|
320
|
-
baseUrl: url
|
|
321
|
-
});
|
|
322
|
-
sdk.batch().execute();
|
|
323
|
-
|
|
324
|
-
request = jasmine.Ajax.requests.mostRecent();
|
|
325
|
-
expect(request.url).toBe(`${url}/$batch`);
|
|
326
|
-
});
|
|
327
|
-
|
|
328
|
-
it("Verify baseUrl from type options overrides baseUrl from SDK options", () => {
|
|
329
|
-
const url = "http://www.mysite.com/api/default/v2/";
|
|
330
|
-
sitefinity.batch(undefined, undefined, undefined, {
|
|
331
|
-
baseUrl: url
|
|
332
|
-
}).execute();
|
|
333
|
-
|
|
334
|
-
const request = jasmine.Ajax.requests.mostRecent();
|
|
335
|
-
expect(request.url).toBe(`${url}$batch`);
|
|
336
|
-
});
|
|
337
|
-
|
|
338
|
-
it("Verify siteId from type options overrides siteId from SDK options", () => {
|
|
339
|
-
const siteId = "mySiteId";
|
|
340
|
-
const sdk = new Sitefinity({
|
|
341
|
-
baseUrl: "http://www.mysite.com/api/default/v2/",
|
|
342
|
-
siteId: "test"
|
|
343
|
-
});
|
|
344
|
-
sdk.batch(undefined, undefined, undefined, {
|
|
345
|
-
siteId
|
|
346
|
-
}).execute();
|
|
347
|
-
|
|
348
|
-
const request = jasmine.Ajax.requests.mostRecent();
|
|
349
|
-
expect(request.url).toContain(`${SF_PARAMS.siteId}=${siteId}`);
|
|
350
|
-
});
|
|
351
|
-
|
|
352
|
-
it("Verify provider from type options", () => {
|
|
353
|
-
const provider = "myProvider";
|
|
354
|
-
|
|
355
|
-
sitefinity.batch(undefined, undefined, undefined, {
|
|
356
|
-
provider
|
|
357
|
-
}).execute();
|
|
358
|
-
|
|
359
|
-
const request = jasmine.Ajax.requests.mostRecent();
|
|
360
|
-
expect(request.url).toContain(`${SF_PARAMS.provider}=${provider}`);
|
|
361
|
-
});
|
|
362
|
-
|
|
363
|
-
it("Verify culture from type options", () => {
|
|
364
|
-
const culture = "en";
|
|
365
|
-
|
|
366
|
-
sitefinity.batch(undefined, undefined, undefined, {
|
|
367
|
-
culture
|
|
368
|
-
}).execute();
|
|
369
|
-
|
|
370
|
-
const request = jasmine.Ajax.requests.mostRecent();
|
|
371
|
-
expect(request.url).toContain(`${SF_PARAMS.culture}=${culture}`);
|
|
372
|
-
});
|
|
373
|
-
|
|
374
|
-
it("Verify additional query params from type options", () => {
|
|
375
|
-
const additionalQueryParams = {
|
|
376
|
-
"p1": "test1",
|
|
377
|
-
"p2": "123",
|
|
378
|
-
};
|
|
379
|
-
|
|
380
|
-
sitefinity.batch(undefined, undefined, undefined, {
|
|
381
|
-
additionalQueryParams
|
|
382
|
-
}).execute();
|
|
383
|
-
|
|
384
|
-
const request = jasmine.Ajax.requests.mostRecent();
|
|
385
|
-
expect(request.url).toContain("p1=test1&p2=123");
|
|
386
|
-
});
|
|
387
|
-
|
|
388
|
-
it("Verify additional headers from type options", () => {
|
|
389
|
-
const additionalHeaders = {
|
|
390
|
-
"p1": "test1",
|
|
391
|
-
"p2": "123",
|
|
392
|
-
};
|
|
393
|
-
|
|
394
|
-
sitefinity.batch(undefined, undefined, undefined, {
|
|
395
|
-
additionalHeaders
|
|
396
|
-
}).execute();
|
|
397
|
-
|
|
398
|
-
additionalHeaders[HEADER_NAMES.serviceRequest] = "true";
|
|
399
|
-
|
|
400
|
-
const request = jasmine.Ajax.requests.mostRecent();
|
|
401
|
-
expect(request.requestHeaders).toEqual(additionalHeaders);
|
|
402
|
-
});
|
|
403
|
-
|
|
404
|
-
it("Verify successCb overrides global success handler from SDK options", () => {
|
|
405
|
-
const globalHandlers: ResponseHandlers = {
|
|
406
|
-
successCb: () => {},
|
|
407
|
-
failureCb: () => {}
|
|
408
|
-
};
|
|
409
|
-
const successSpyGlobal = spyOn<ResponseHandlers, any>(globalHandlers, "successCb");
|
|
410
|
-
const failureSpyGlobal = spyOn<ResponseHandlers, any>(globalHandlers, "failureCb");
|
|
411
|
-
|
|
412
|
-
const localHandlers = {
|
|
413
|
-
successCb: () => {},
|
|
414
|
-
failureCb: () => {}
|
|
415
|
-
};
|
|
416
|
-
const successSpyLocal = spyOn<ResponseHandlers, any>(localHandlers, "successCb");
|
|
417
|
-
const failureSpyLocal = spyOn<ResponseHandlers, any>(localHandlers, "failureCb");
|
|
418
|
-
|
|
419
|
-
const sdk = new Sitefinity({
|
|
420
|
-
baseUrl: "http://www.mysite.com/api/default/v2/",
|
|
421
|
-
handlers: globalHandlers
|
|
422
|
-
});
|
|
423
|
-
sdk.batch(localHandlers.successCb, localHandlers.failureCb).execute();
|
|
424
|
-
|
|
425
|
-
const request = jasmine.Ajax.requests.mostRecent();
|
|
426
|
-
request.respondWith({
|
|
427
|
-
status: 200,
|
|
428
|
-
responseText: batchResponse,
|
|
429
|
-
responseHeaders: {
|
|
430
|
-
"Access-Control-Allow-Origin": "*",
|
|
431
|
-
"Cache-Control:": "no-cache",
|
|
432
|
-
"Content-Length": "334",
|
|
433
|
-
"Content-type": "multipart/mixed; boundary=batchresponse_ab4d3fab-5bee-4ea0-ba40-723ea40d1c32"
|
|
434
|
-
}
|
|
435
|
-
});
|
|
436
|
-
|
|
437
|
-
expect(successSpyLocal).toHaveBeenCalledTimes(1);
|
|
438
|
-
expect(failureSpyLocal).not.toHaveBeenCalled();
|
|
439
|
-
expect(successSpyGlobal).not.toHaveBeenCalled();
|
|
440
|
-
expect(failureSpyGlobal).not.toHaveBeenCalled();
|
|
441
|
-
});
|
|
442
|
-
|
|
443
|
-
it("Verify failureCb overrides global failure handler from SDK options", () => {
|
|
444
|
-
const globalHandlers: ResponseHandlers = {
|
|
445
|
-
successCb: () => {},
|
|
446
|
-
failureCb: () => {}
|
|
447
|
-
};
|
|
448
|
-
const successSpyGlobal = spyOn<ResponseHandlers, any>(globalHandlers, "successCb");
|
|
449
|
-
const failureSpyGlobal = spyOn<ResponseHandlers, any>(globalHandlers, "failureCb");
|
|
450
|
-
|
|
451
|
-
const localHandlers = {
|
|
452
|
-
successCb: () => {},
|
|
453
|
-
failureCb: () => {}
|
|
454
|
-
};
|
|
455
|
-
const successSpyLocal = spyOn<ResponseHandlers, any>(localHandlers, "successCb");
|
|
456
|
-
const failureSpyLocal = spyOn<ResponseHandlers, any>(localHandlers, "failureCb");
|
|
457
|
-
|
|
458
|
-
const sdk = new Sitefinity({
|
|
459
|
-
baseUrl: "http://www.mysite.com/api/default/v2/",
|
|
460
|
-
handlers: globalHandlers
|
|
461
|
-
});
|
|
462
|
-
sdk.batch(localHandlers.successCb, localHandlers.failureCb).execute();
|
|
463
|
-
|
|
464
|
-
const request = jasmine.Ajax.requests.mostRecent();
|
|
465
|
-
request.respondWith({
|
|
466
|
-
status: 400,
|
|
467
|
-
responseText: batchResponse,
|
|
468
|
-
responseHeaders: {
|
|
469
|
-
"Access-Control-Allow-Origin": "*",
|
|
470
|
-
"Cache-Control:": "no-cache",
|
|
471
|
-
"Content-Length": "334",
|
|
472
|
-
"Content-type": "multipart/mixed; boundary=batchresponse_ab4d3fab-5bee-4ea0-ba40-723ea40d1c32"
|
|
473
|
-
}
|
|
474
|
-
});
|
|
475
|
-
|
|
476
|
-
expect(failureSpyLocal).toHaveBeenCalledTimes(1);
|
|
477
|
-
expect(successSpyLocal).not.toHaveBeenCalled();
|
|
478
|
-
expect(successSpyGlobal).not.toHaveBeenCalled();
|
|
479
|
-
expect(failureSpyGlobal).not.toHaveBeenCalled();
|
|
480
|
-
});
|
|
481
|
-
});
|
|
482
|
-
});
|
|
483
|
-
});
|