@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.
Files changed (231) hide show
  1. package/README.md +84 -51
  2. package/esm/chunks/chunk-2ID24RPE.mjs +179 -0
  3. package/esm/chunks/chunk-2ID24RPE.mjs.map +7 -0
  4. package/esm/chunks/chunk-AHDZ2CWQ.mjs +93 -0
  5. package/esm/chunks/chunk-AHDZ2CWQ.mjs.map +7 -0
  6. package/esm/chunks/chunk-BFLQBM7R.mjs +136 -0
  7. package/esm/chunks/chunk-BFLQBM7R.mjs.map +7 -0
  8. package/esm/chunks/chunk-CMGV26CS.mjs +66 -0
  9. package/esm/chunks/chunk-CMGV26CS.mjs.map +7 -0
  10. package/esm/chunks/chunk-DHWDJAGV.mjs +180 -0
  11. package/esm/chunks/chunk-DHWDJAGV.mjs.map +7 -0
  12. package/esm/chunks/chunk-EH4CERVO.mjs +82 -0
  13. package/esm/chunks/chunk-EH4CERVO.mjs.map +7 -0
  14. package/esm/chunks/chunk-F4CWOE7M.mjs +57 -0
  15. package/esm/chunks/chunk-F4CWOE7M.mjs.map +7 -0
  16. package/esm/chunks/chunk-FUFBYOIF.mjs +98 -0
  17. package/esm/chunks/chunk-FUFBYOIF.mjs.map +7 -0
  18. package/esm/chunks/chunk-J2B7UDVZ.mjs +132 -0
  19. package/esm/chunks/chunk-J2B7UDVZ.mjs.map +7 -0
  20. package/esm/chunks/chunk-L3IMDFA5.mjs +1 -0
  21. package/esm/chunks/chunk-L3IMDFA5.mjs.map +7 -0
  22. package/esm/chunks/chunk-NNYY2VBC.mjs +383 -0
  23. package/esm/chunks/chunk-NNYY2VBC.mjs.map +7 -0
  24. package/esm/chunks/chunk-PI55MBSL.mjs +256 -0
  25. package/esm/chunks/chunk-PI55MBSL.mjs.map +7 -0
  26. package/esm/chunks/chunk-PXPK2IV6.mjs +568 -0
  27. package/esm/chunks/chunk-PXPK2IV6.mjs.map +7 -0
  28. package/esm/chunks/chunk-QPSEKUOI.mjs +35 -0
  29. package/esm/chunks/chunk-QPSEKUOI.mjs.map +7 -0
  30. package/esm/chunks/chunk-RQAAYOY6.mjs +72 -0
  31. package/esm/chunks/chunk-RQAAYOY6.mjs.map +7 -0
  32. package/esm/chunks/chunk-TTVNTTW5.mjs +145 -0
  33. package/esm/chunks/chunk-TTVNTTW5.mjs.map +7 -0
  34. package/esm/chunks/chunk-VLDX2FH2.mjs +235 -0
  35. package/esm/chunks/chunk-VLDX2FH2.mjs.map +7 -0
  36. package/esm/chunks/chunk-VWT2RJET.mjs +102 -0
  37. package/esm/chunks/chunk-VWT2RJET.mjs.map +7 -0
  38. package/esm/chunks/chunk-W2OWM3L7.mjs +19 -0
  39. package/esm/chunks/chunk-W2OWM3L7.mjs.map +7 -0
  40. package/esm/chunks/chunk-WX5J7F5D.mjs +43 -0
  41. package/esm/chunks/chunk-WX5J7F5D.mjs.map +7 -0
  42. package/esm/chunks/chunk-YB2LMPUX.mjs +54 -0
  43. package/esm/chunks/chunk-YB2LMPUX.mjs.map +7 -0
  44. package/package.json +67 -36
  45. package/sitefinity-webservices-sdk.cjs +2761 -0
  46. package/sitefinity-webservices-sdk.cjs.map +7 -0
  47. package/sitefinity-webservices-sdk.d.mts +1 -0
  48. package/{dist/sitefinity-webservices-sdk.d.ts → sitefinity-webservices-sdk.d.ts} +6 -0
  49. package/sitefinity-webservices-sdk.global.d.ts +5 -0
  50. package/sitefinity-webservices-sdk.js +2764 -0
  51. package/sitefinity-webservices-sdk.js.map +7 -0
  52. package/sitefinity-webservices-sdk.min.js +3 -0
  53. package/sitefinity-webservices-sdk.mjs +124 -0
  54. package/sitefinity-webservices-sdk.mjs.map +7 -0
  55. package/src/BlobBuilder.d.ts +12 -0
  56. package/src/Data.d.ts +259 -0
  57. package/src/Expression.d.ts +37 -0
  58. package/src/OrderProperty.d.ts +24 -0
  59. package/src/Query.d.ts +104 -0
  60. package/src/QueryBase.d.ts +40 -0
  61. package/src/QueryBuilder.d.ts +29 -0
  62. package/src/Requests/BatchRequest.d.ts +174 -0
  63. package/src/Requests/ExecutableRequest.d.ts +43 -0
  64. package/src/Requests/Request.d.ts +225 -0
  65. package/src/Requests/RequestBase.d.ts +58 -0
  66. package/{dist/src → src}/Requests/RequestFactory.d.ts +24 -2
  67. package/src/Sitefinity.d.ts +141 -0
  68. package/src/Transport/FetchTransport.d.ts +17 -0
  69. package/src/Transport/HttpTransport.d.ts +69 -0
  70. package/src/Transport/XhrTransport.d.ts +8 -0
  71. package/src/WhereQuery.d.ts +88 -0
  72. package/src/chunk-upload/chunk-upload.sdk.d.ts +305 -0
  73. package/src/chunk-upload/chunked-file-upload.utilities.d.ts +58 -0
  74. package/{dist/src → src}/constants.d.ts +21 -0
  75. package/src/utils.d.ts +103 -0
  76. package/.editorconfig +0 -29
  77. package/.eslintignore +0 -4
  78. package/.eslintrc.js +0 -40
  79. package/config/helpers.ts +0 -8
  80. package/config/webpack.common.ts +0 -39
  81. package/config/webpack.dev.ts +0 -37
  82. package/config/webpack.prod.ts +0 -17
  83. package/dist/docs/.nojekyll +0 -1
  84. package/dist/docs/assets/highlight.css +0 -71
  85. package/dist/docs/assets/main.js +0 -58
  86. package/dist/docs/assets/search.js +0 -1
  87. package/dist/docs/assets/style.css +0 -1280
  88. package/dist/docs/classes/BlobBuilder.BlobBuilder.html +0 -137
  89. package/dist/docs/classes/Data.Data.html +0 -387
  90. package/dist/docs/classes/Expression.BinaryExpression.html +0 -184
  91. package/dist/docs/classes/Expression.ComplexExpression.html +0 -146
  92. package/dist/docs/classes/Expression.ExpressionBase.html +0 -125
  93. package/dist/docs/classes/OrderProperty.OrderProperty.html +0 -151
  94. package/dist/docs/classes/Query.Query.html +0 -353
  95. package/dist/docs/classes/QueryBase.QueryBase.html +0 -185
  96. package/dist/docs/classes/QueryBuilder.QueryBuilder.html +0 -206
  97. package/dist/docs/classes/Requests_BatchRequest.BatchRequest.html +0 -731
  98. package/dist/docs/classes/Requests_BatchRequest.Transaction.html +0 -332
  99. package/dist/docs/classes/Requests_ExecutableRequest.ExecutableRequest.html +0 -340
  100. package/dist/docs/classes/Requests_Request.CommitChunksRequest.html +0 -303
  101. package/dist/docs/classes/Requests_Request.CreateRelatedRequest.html +0 -310
  102. package/dist/docs/classes/Requests_Request.CreateRequest.html +0 -307
  103. package/dist/docs/classes/Requests_Request.DeleteRelatedByIdRequest.html +0 -309
  104. package/dist/docs/classes/Requests_Request.DeleteRelatedRequest.html +0 -302
  105. package/dist/docs/classes/Requests_Request.DeleteRequest.html +0 -298
  106. package/dist/docs/classes/Requests_Request.GetByIdRequest.html +0 -298
  107. package/dist/docs/classes/Requests_Request.GetRelatedByIdRequest.html +0 -309
  108. package/dist/docs/classes/Requests_Request.GetRelatedRequest.html +0 -302
  109. package/dist/docs/classes/Requests_Request.GetRequest.html +0 -295
  110. package/dist/docs/classes/Requests_Request.UpdateRequest.html +0 -309
  111. package/dist/docs/classes/Requests_Request.UploadChunkRequest.html +0 -359
  112. package/dist/docs/classes/Requests_Request.UploadRequest.html +0 -329
  113. package/dist/docs/classes/Requests_RequestBase.RequestBase.html +0 -275
  114. package/dist/docs/classes/Requests_RequestFactory.RequestFactory.html +0 -344
  115. package/dist/docs/classes/Sitefinity.Sitefinity.html +0 -188
  116. package/dist/docs/classes/WhereQuery.WhereQuery.html +0 -436
  117. package/dist/docs/classes/chunk_upload_chunk_upload_sdk.ChunkUploadSdk.html +0 -231
  118. package/dist/docs/classes/chunk_upload_chunked_file_upload_utilities.ChunkedFileUploadUtilities.html +0 -131
  119. package/dist/docs/classes/utils.utils.html +0 -303
  120. package/dist/docs/index.html +0 -129
  121. package/dist/docs/interfaces/Data.CreateRelatedRequestOptions.html +0 -155
  122. package/dist/docs/interfaces/Data.CreateRequestOptions.html +0 -153
  123. package/dist/docs/interfaces/Data.OperationsRequestOptions.html +0 -145
  124. package/dist/docs/interfaces/Data.PropertyRequestOptions.html +0 -149
  125. package/dist/docs/interfaces/Data.RequestOptionsBase.html +0 -136
  126. package/dist/docs/interfaces/Data.SingleRelatedItemRequestOptions.html +0 -155
  127. package/dist/docs/interfaces/Data.UpdateRequestOptions.html +0 -155
  128. package/dist/docs/interfaces/Data.UploadRequestOptions.html +0 -169
  129. package/dist/docs/interfaces/Requests_BatchRequest.BatchCreateRelatedRequestOptions.html +0 -161
  130. package/dist/docs/interfaces/Requests_BatchRequest.BatchCreateRequestOptions.html +0 -153
  131. package/dist/docs/interfaces/Requests_BatchRequest.BatchPropertyRequestOptions.html +0 -153
  132. package/dist/docs/interfaces/Requests_BatchRequest.BatchRequestOptionsBase.html +0 -145
  133. package/dist/docs/interfaces/Requests_BatchRequest.BatchRequestOptionsExtended.html +0 -153
  134. package/dist/docs/interfaces/Requests_BatchRequest.BatchSingleItemRequestOptions.html +0 -145
  135. package/dist/docs/interfaces/Requests_BatchRequest.BatchSingleRelatedItemRequestOptions.html +0 -161
  136. package/dist/docs/interfaces/Requests_BatchRequest.BatchUpdateRequestOptions.html +0 -161
  137. package/dist/docs/interfaces/Requests_ExecutableRequest.ResponseHandlers.html +0 -98
  138. package/dist/docs/interfaces/Requests_Request.CommitChunksRequestOptionsExtended.html +0 -215
  139. package/dist/docs/interfaces/Requests_Request.PostRequestOptionsExtended.html +0 -159
  140. package/dist/docs/interfaces/Requests_Request.PutRequestOptionsExtended.html +0 -161
  141. package/dist/docs/interfaces/Requests_Request.RelatedByIdRequestOptionsExtended.html +0 -169
  142. package/dist/docs/interfaces/Requests_Request.RelatedRequestOptionsExtended.html +0 -163
  143. package/dist/docs/interfaces/Requests_Request.UploadChunkRequestOptionsExtended.html +0 -217
  144. package/dist/docs/interfaces/Requests_Request.UploadRequestOptionsExtended.html +0 -180
  145. package/dist/docs/interfaces/Requests_RequestBase.RequestOptionsBaseExtended.html +0 -148
  146. package/dist/docs/interfaces/Sitefinity.SDKOptions.html +0 -128
  147. package/dist/docs/interfaces/Sitefinity.Token.html +0 -94
  148. package/dist/docs/interfaces/Sitefinity.TypeOptions.html +0 -160
  149. package/dist/docs/interfaces/chunk_upload_chunk_upload_sdk.ChunkUploadInfoDTO.html +0 -159
  150. package/dist/docs/interfaces/chunk_upload_chunk_upload_sdk.ChunkUploadResult.html +0 -111
  151. package/dist/docs/interfaces/chunk_upload_chunk_upload_sdk.CleanUpChunksRequestOptions.html +0 -171
  152. package/dist/docs/interfaces/chunk_upload_chunk_upload_sdk.CommitChunksRequestOptions.html +0 -204
  153. package/dist/docs/interfaces/chunk_upload_chunk_upload_sdk.GetChunkUploadInfoRequestOptions.html +0 -166
  154. package/dist/docs/interfaces/chunk_upload_chunk_upload_sdk.UploadChunkRequestOptions.html +0 -206
  155. package/dist/docs/interfaces/chunk_upload_chunked_file_upload_utilities.ChunkFileResult.html +0 -101
  156. package/dist/docs/interfaces/chunk_upload_chunked_file_upload_utilities.FileUploadChunk.html +0 -94
  157. package/dist/docs/modules/BlobBuilder.html +0 -73
  158. package/dist/docs/modules/Data.html +0 -92
  159. package/dist/docs/modules/Expression.html +0 -77
  160. package/dist/docs/modules/OrderProperty.html +0 -73
  161. package/dist/docs/modules/Query.html +0 -73
  162. package/dist/docs/modules/QueryBase.html +0 -73
  163. package/dist/docs/modules/QueryBuilder.html +0 -73
  164. package/dist/docs/modules/Requests_BatchRequest.html +0 -94
  165. package/dist/docs/modules/Requests_ExecutableRequest.html +0 -78
  166. package/dist/docs/modules/Requests_Request.html +0 -114
  167. package/dist/docs/modules/Requests_RequestBase.html +0 -78
  168. package/dist/docs/modules/Requests_RequestFactory.html +0 -73
  169. package/dist/docs/modules/Sitefinity.html +0 -82
  170. package/dist/docs/modules/WhereQuery.html +0 -73
  171. package/dist/docs/modules/chunk_upload_chunk_upload_sdk.html +0 -88
  172. package/dist/docs/modules/chunk_upload_chunked_file_upload_utilities.html +0 -80
  173. package/dist/docs/modules/constants.html +0 -83
  174. package/dist/docs/modules/utils.html +0 -73
  175. package/dist/docs/modules.html +0 -80
  176. package/dist/docs/variables/constants.CONTENT_TYPES.html +0 -76
  177. package/dist/docs/variables/constants.EXPRESSION_TYPE.html +0 -106
  178. package/dist/docs/variables/constants.HEADER_NAMES.html +0 -102
  179. package/dist/docs/variables/constants.HTTP_METHODS.html +0 -84
  180. package/dist/docs/variables/constants.ODATA_PARAMS.html +0 -90
  181. package/dist/docs/variables/constants.SF_PARAMS.html +0 -84
  182. package/dist/samples.html +0 -625
  183. package/dist/sitefinity-webservices-sdk.js +0 -3125
  184. package/dist/sitefinity-webservices-sdk.js.map +0 -1
  185. package/dist/sitefinity-webservices-sdk.min.js +0 -1
  186. package/dist/src/BlobBuilder.d.ts +0 -14
  187. package/dist/src/Data.d.ts +0 -154
  188. package/dist/src/Data.spec.d.ts +0 -1
  189. package/dist/src/Expression.d.ts +0 -19
  190. package/dist/src/OrderProperty.d.ts +0 -8
  191. package/dist/src/Query.d.ts +0 -59
  192. package/dist/src/QueryBase.d.ts +0 -18
  193. package/dist/src/QueryBuilder.d.ts +0 -13
  194. package/dist/src/Requests/BatchRequest.d.ts +0 -146
  195. package/dist/src/Requests/ExecutableRequest.d.ts +0 -22
  196. package/dist/src/Requests/Request.d.ts +0 -132
  197. package/dist/src/Requests/RequestBase.d.ts +0 -27
  198. package/dist/src/Requests/request.spec.d.ts +0 -1
  199. package/dist/src/Sitefinity.d.ts +0 -75
  200. package/dist/src/Sitefinity.spec.d.ts +0 -1
  201. package/dist/src/WhereQuery.d.ts +0 -72
  202. package/dist/src/chunk-upload/chunk-upload.sdk.d.ts +0 -295
  203. package/dist/src/chunk-upload/chunk-upload.sdk.spec.d.ts +0 -1
  204. package/dist/src/chunk-upload/chunked-file-upload.utilities.d.ts +0 -13
  205. package/dist/src/utils.d.ts +0 -16
  206. package/karma.conf.js +0 -29
  207. package/sitefinity-webservices-sdk.ts +0 -15
  208. package/src/BlobBuilder.ts +0 -20
  209. package/src/Data.spec.ts +0 -160
  210. package/src/Data.ts +0 -418
  211. package/src/Expression.ts +0 -36
  212. package/src/OrderProperty.ts +0 -39
  213. package/src/Query.ts +0 -106
  214. package/src/QueryBase.ts +0 -57
  215. package/src/QueryBuilder.ts +0 -180
  216. package/src/Requests/BatchRequest.ts +0 -807
  217. package/src/Requests/ExecutableRequest.ts +0 -117
  218. package/src/Requests/Request.ts +0 -327
  219. package/src/Requests/RequestBase.ts +0 -163
  220. package/src/Requests/RequestFactory.ts +0 -75
  221. package/src/Requests/request.spec.ts +0 -132
  222. package/src/Sitefinity.spec.ts +0 -483
  223. package/src/Sitefinity.ts +0 -125
  224. package/src/WhereQuery.ts +0 -145
  225. package/src/chunk-upload/chunk-upload.sdk.spec.ts +0 -342
  226. package/src/chunk-upload/chunk-upload.sdk.ts +0 -439
  227. package/src/chunk-upload/chunked-file-upload.utilities.ts +0 -64
  228. package/src/constants.ts +0 -66
  229. package/src/utils.ts +0 -125
  230. package/template.html +0 -625
  231. 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
- });
@@ -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
- });