@tellescope/sdk 0.0.15 → 0.0.19

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 (48) hide show
  1. package/lib/cjs/enduser.d.ts +10 -5
  2. package/lib/cjs/enduser.d.ts.map +1 -1
  3. package/lib/cjs/enduser.js +5 -4
  4. package/lib/cjs/enduser.js.map +1 -1
  5. package/lib/cjs/sdk.d.ts +20 -10
  6. package/lib/cjs/sdk.d.ts.map +1 -1
  7. package/lib/cjs/sdk.js +9 -10
  8. package/lib/cjs/sdk.js.map +1 -1
  9. package/lib/cjs/session.d.ts +4 -21
  10. package/lib/cjs/session.d.ts.map +1 -1
  11. package/lib/cjs/session.js +1 -0
  12. package/lib/cjs/session.js.map +1 -1
  13. package/lib/cjs/tests/public_endpoint_tests.js +4 -4
  14. package/lib/cjs/tests/public_endpoint_tests.js.map +1 -1
  15. package/lib/cjs/tests/socket_tests.d.ts +1 -1
  16. package/lib/cjs/tests/socket_tests.d.ts.map +1 -1
  17. package/lib/cjs/tests/socket_tests.js +125 -8
  18. package/lib/cjs/tests/socket_tests.js.map +1 -1
  19. package/lib/cjs/tests/tests.js +147 -101
  20. package/lib/cjs/tests/tests.js.map +1 -1
  21. package/lib/esm/enduser.d.ts +10 -5
  22. package/lib/esm/enduser.d.ts.map +1 -1
  23. package/lib/esm/enduser.js +5 -4
  24. package/lib/esm/enduser.js.map +1 -1
  25. package/lib/esm/sdk.d.ts +20 -10
  26. package/lib/esm/sdk.d.ts.map +1 -1
  27. package/lib/esm/sdk.js +9 -10
  28. package/lib/esm/sdk.js.map +1 -1
  29. package/lib/esm/session.d.ts +4 -21
  30. package/lib/esm/session.d.ts.map +1 -1
  31. package/lib/esm/session.js +1 -0
  32. package/lib/esm/session.js.map +1 -1
  33. package/lib/esm/tests/public_endpoint_tests.js +4 -4
  34. package/lib/esm/tests/public_endpoint_tests.js.map +1 -1
  35. package/lib/esm/tests/socket_tests.d.ts +1 -1
  36. package/lib/esm/tests/socket_tests.d.ts.map +1 -1
  37. package/lib/esm/tests/socket_tests.js +123 -8
  38. package/lib/esm/tests/socket_tests.js.map +1 -1
  39. package/lib/esm/tests/tests.js +147 -101
  40. package/lib/esm/tests/tests.js.map +1 -1
  41. package/lib/tsconfig.tsbuildinfo +1 -1
  42. package/package.json +10 -10
  43. package/src/enduser.ts +12 -8
  44. package/src/sdk.ts +28 -20
  45. package/src/session.ts +3 -18
  46. package/src/tests/public_endpoint_tests.ts +4 -4
  47. package/src/tests/socket_tests.ts +68 -5
  48. package/src/tests/tests.ts +67 -34
@@ -71,7 +71,7 @@ var userId = '60398b0231a295e64f084fd9';
71
71
  // // delete an individual record
72
72
  // await sdk.api.endusers.deleteOne(enduser.id)
73
73
  // }
74
- var sdk = new Session();
74
+ var sdk = new Session({ host: host });
75
75
  var sdkOther = new Session({ host: host, apiKey: "ba745e25162bb95a795c5fa1af70df188d93c4d3aac9c48b34a5c8c9dd7b80f7" });
76
76
  var enduserSDK = new EnduserSession({ host: host });
77
77
  // const sdkOtherEmail = "sebass@tellescope.com"
@@ -89,15 +89,11 @@ var setup_tests = function () { return __awaiter(void 0, void 0, void 0, functio
89
89
  case 0: return [4 /*yield*/, async_test('test_online', sdk.test_online, { expectedResult: 'API V1 Online' })];
90
90
  case 1:
91
91
  _a.sent();
92
- return [4 /*yield*/, async_test('test_authenticated', sdk.test_authenticated, { expectedResult: 'Authenticated!' })
93
- // console.log(await sdk.api.api_keys.createOne({}))
94
- ];
92
+ return [4 /*yield*/, async_test('test_authenticated', sdk.test_authenticated, { expectedResult: 'Authenticated!' })];
95
93
  case 2:
96
94
  _a.sent();
97
- // console.log(await sdk.api.api_keys.createOne({}))
98
95
  return [4 /*yield*/, async_test('test_authenticated (with API Key)', (new Session({ host: host, apiKey: '3n5q0SCBT_iUvZz-b9BJtX7o7HQUVJ9v132PgHJNJsg.' /* local test key */ })).test_authenticated, { expectedResult: 'Authenticated!' })];
99
96
  case 3:
100
- // console.log(await sdk.api.api_keys.createOne({}))
101
97
  _a.sent();
102
98
  return [4 /*yield*/, sdk.logout()];
103
99
  case 4:
@@ -105,7 +101,7 @@ var setup_tests = function () { return __awaiter(void 0, void 0, void 0, functio
105
101
  return [4 /*yield*/, async_test('test_authenticated - (logout invalidates jwt)', sdk.test_authenticated, { shouldError: true, onError: function (e) { return e === 'Unauthenticated'; } })];
106
102
  case 5:
107
103
  _a.sent();
108
- return [4 /*yield*/, sdk.authenticate(email, password, host)];
104
+ return [4 /*yield*/, sdk.authenticate(email, password)];
109
105
  case 6:
110
106
  _a.sent();
111
107
  return [4 /*yield*/, async_test('test_authenticated (re-authenticated)', sdk.test_authenticated, { expectedResult: 'Authenticated!' })];
@@ -234,6 +230,21 @@ var threadKeyTests = function () { return __awaiter(void 0, void 0, void 0, func
234
230
  }
235
231
  });
236
232
  }); };
233
+ var badInputTests = function () { return __awaiter(void 0, void 0, void 0, function () {
234
+ return __generator(this, function (_a) {
235
+ switch (_a.label) {
236
+ case 0:
237
+ log_header("Bad Input Tests");
238
+ return [4 /*yield*/, async_test("_-prefixed fields are not allowed", function () { return sdk.api.endusers.createOne({ email: 'failure@tellescope.com', fields: { "_notallowed": 'hello' } }); }, { shouldError: true, onError: function (e) { return e.message === "Error parsing field fields: Fields that start with '_' are not allowed"; } })];
239
+ case 1:
240
+ _a.sent();
241
+ return [4 /*yield*/, async_test("_-prefixed fields are not allowed", function () { return sdk.api.notes.createOne({ enduserId: PLACEHOLDER_ID, fields: { "_notallowed": 'hello' } }); }, { shouldError: true, onError: function (e) { return e.message === "Error parsing field fields: Fields that start with '_' are not allowed"; } })];
242
+ case 2:
243
+ _a.sent();
244
+ return [2 /*return*/];
245
+ }
246
+ });
247
+ }); };
237
248
  var filterTests = function () { return __awaiter(void 0, void 0, void 0, function () {
238
249
  var enduser, otherEnduser;
239
250
  return __generator(this, function (_a) {
@@ -247,38 +258,46 @@ var filterTests = function () { return __awaiter(void 0, void 0, void 0, functio
247
258
  return [4 /*yield*/, async_test("find enduser by filter", function () { return sdk.api.endusers.getSome({ filter: { email: 'filtertests@tellescope.com' } }); }, { onResult: function (es) { return es.length === 1 && es[0].id === enduser.id; } })];
248
259
  case 3:
249
260
  _a.sent();
250
- return [4 /*yield*/, async_test("find enduser by compound filter", function () { return sdk.api.endusers.getSome({ filter: { email: 'filtertests@tellescope.com', fname: 'test' } }); }, { onResult: function (es) { return es.length === 1 && es[0].id === enduser.id; } })];
261
+ return [4 /*yield*/, async_test("find enduser by _exists filter", function () { return sdk.api.endusers.getSome({ filter: { fname: { _exists: true } } }); }, { onResult: function (es) { return es.length === 1 && es[0].id === enduser.id; } })];
251
262
  case 4:
252
263
  _a.sent();
253
- return [4 /*yield*/, async_test("nothing found by invalid compound filter", function () { return sdk.api.endusers.getSome({ filter: { email: 'filtertests@tellescope.com', fname: 'nottest' } }); }, { onResult: function (es) { return es.length === 0; } })];
264
+ return [4 /*yield*/, async_test("find enduser by _exists filter (findOne)",
265
+ // () => sdk.api.endusers.getOne({ fname: { _exists: true } }),
266
+ function () { return sdk.api.endusers.getOne({ fname: { _exists: true } }); }, { onResult: function (e) { return e.id === enduser.id; } })];
254
267
  case 5:
255
268
  _a.sent();
256
- return [4 /*yield*/, async_test("nothing found for invalid filter", function () { return sdk.api.endusers.getSome({ filter: { email: 'doesnotexist@tellescope.com' } }); }, { onResult: function (es) { return es.length === 0; } })];
269
+ return [4 /*yield*/, async_test("find enduser by compound filter", function () { return sdk.api.endusers.getSome({ filter: { email: 'filtertests@tellescope.com', fname: 'test' } }); }, { onResult: function (es) { return es.length === 1 && es[0].id === enduser.id; } })];
257
270
  case 6:
258
271
  _a.sent();
259
- return [4 /*yield*/, async_test("find enduser by nested filter", function () { return sdk.api.endusers.getSome({ filter: { fields: { field1: 'value1' } } }); }, { onResult: function (es) { return es.length === 1 && es[0].id === enduser.id; } })];
272
+ return [4 /*yield*/, async_test("nothing found by invalid compound filter", function () { return sdk.api.endusers.getSome({ filter: { email: 'filtertests@tellescope.com', fname: 'nottest' } }); }, { onResult: function (es) { return es.length === 0; } })];
260
273
  case 7:
261
274
  _a.sent();
262
- return [4 /*yield*/, async_test("nothing found by invalid nested filter", function () { return sdk.api.endusers.getSome({ filter: { fields: { field1: 'not a nested field value' } } }); }, { onResult: function (es) { return es.length === 0; } })];
275
+ return [4 /*yield*/, async_test("nothing found for invalid filter", function () { return sdk.api.endusers.getSome({ filter: { email: 'doesnotexist@tellescope.com' } }); }, { onResult: function (es) { return es.length === 0; } })];
263
276
  case 8:
264
277
  _a.sent();
265
- return [4 /*yield*/, async_test("find enduser by compound nested filter", function () { return sdk.api.endusers.getSome({ filter: { fields: { field1: 'value1', field2: 'value2' } } }); }, { onResult: function (es) { return es.length === 1 && es[0].id === enduser.id; } })];
278
+ return [4 /*yield*/, async_test("find enduser by nested filter", function () { return sdk.api.endusers.getSome({ filter: { fields: { field1: 'value1' } } }); }, { onResult: function (es) { return es.length === 1 && es[0].id === enduser.id; } })];
266
279
  case 9:
267
280
  _a.sent();
268
- return [4 /*yield*/, async_test("nothing found by compound invalid nested filter", function () { return sdk.api.endusers.getSome({ filter: { fields: { field1: 'not a nested field value', field2: 'value2' } } }); }, { onResult: function (es) { return es.length === 0; } })];
281
+ return [4 /*yield*/, async_test("nothing found by invalid nested filter", function () { return sdk.api.endusers.getSome({ filter: { fields: { field1: 'not a nested field value' } } }); }, { onResult: function (es) { return es.length === 0; } })];
269
282
  case 10:
270
283
  _a.sent();
271
- return [4 /*yield*/, async_test("find enduser by compound nested filter with non-nested field as well", function () { return sdk.api.endusers.getSome({ filter: { email: 'filtertests@tellescope.com', fields: { field1: 'value1', field2: 'value2' } } }); }, { onResult: function (es) { return es.length === 1 && es[0].id === enduser.id; } })];
284
+ return [4 /*yield*/, async_test("find enduser by compound nested filter", function () { return sdk.api.endusers.getSome({ filter: { fields: { field1: 'value1', field2: 'value2' } } }); }, { onResult: function (es) { return es.length === 1 && es[0].id === enduser.id; } })];
272
285
  case 11:
273
286
  _a.sent();
274
- return [4 /*yield*/, async_test("nothing found for compound nested filter with non-nested field as well", function () { return sdk.api.endusers.getSome({ filter: { email: 'doesnotexist@tellescope.com', fields: { field1: 'value1', field2: 'value2' } } }); }, { onResult: function (es) { return es.length === 0; } })];
287
+ return [4 /*yield*/, async_test("nothing found by compound invalid nested filter", function () { return sdk.api.endusers.getSome({ filter: { fields: { field1: 'not a nested field value', field2: 'value2' } } }); }, { onResult: function (es) { return es.length === 0; } })];
275
288
  case 12:
276
289
  _a.sent();
277
- return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser.id)];
290
+ return [4 /*yield*/, async_test("find enduser by compound nested filter with non-nested field as well", function () { return sdk.api.endusers.getSome({ filter: { email: 'filtertests@tellescope.com', fields: { field1: 'value1', field2: 'value2' } } }); }, { onResult: function (es) { return es.length === 1 && es[0].id === enduser.id; } })];
278
291
  case 13:
279
292
  _a.sent();
280
- return [4 /*yield*/, sdk.api.endusers.deleteOne(otherEnduser.id)];
293
+ return [4 /*yield*/, async_test("nothing found for compound nested filter with non-nested field as well", function () { return sdk.api.endusers.getSome({ filter: { email: 'doesnotexist@tellescope.com', fields: { field1: 'value1', field2: 'value2' } } }); }, { onResult: function (es) { return es.length === 0; } })];
281
294
  case 14:
295
+ _a.sent();
296
+ return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser.id)];
297
+ case 15:
298
+ _a.sent();
299
+ return [4 /*yield*/, sdk.api.endusers.deleteOne(otherEnduser.id)];
300
+ case 16:
282
301
  _a.sent();
283
302
  return [2 /*return*/];
284
303
  }
@@ -316,24 +335,40 @@ var updatesTests = function () { return __awaiter(void 0, void 0, void 0, functi
316
335
  });
317
336
  }); };
318
337
  var generateEnduserAuthTests = function () { return __awaiter(void 0, void 0, void 0, function () {
319
- var enduser, authToken, isAuthenticated;
320
- return __generator(this, function (_a) {
321
- switch (_a.label) {
338
+ var e, _a, authToken, enduser, isAuthenticated;
339
+ return __generator(this, function (_b) {
340
+ switch (_b.label) {
322
341
  case 0:
323
342
  log_header("Generated Enduser authToken Tests");
324
- return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'generated@tellescope.com' })];
343
+ return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'generated@tellescope.com', phone: '+15555555555', externalId: '1029f9v9sjd0as' })];
325
344
  case 1:
326
- enduser = _a.sent();
327
- return [4 /*yield*/, sdk.api.endusers.generateAuthToken({ id: enduser.id })];
345
+ e = _b.sent();
346
+ return [4 /*yield*/, sdk.api.endusers.generate_auth_token({ id: e.id })];
328
347
  case 2:
329
- authToken = (_a.sent()).authToken;
330
- return [4 /*yield*/, sdk.api.endusers.isAuthenticated({ id: enduser.id, authToken: authToken })];
348
+ _a = _b.sent(), authToken = _a.authToken, enduser = _a.enduser;
349
+ assert(!!authToken && !!enduser, 'invalid returned values', 'Generate authToken and get enduser');
350
+ return [4 /*yield*/, sdk.api.endusers.is_authenticated({ id: enduser.id, authToken: authToken })];
331
351
  case 3:
332
- isAuthenticated = (_a.sent()).isAuthenticated;
352
+ isAuthenticated = (_b.sent()).isAuthenticated;
333
353
  assert(isAuthenticated, 'invalid authToken generated for enduser', 'Generate authToken for enduser is valid');
334
- return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser.id)];
354
+ return [4 /*yield*/, async_test("auth by externalId", function () { return sdk.api.endusers.generate_auth_token({ externalId: e.externalId }); }, passOnVoid)];
335
355
  case 4:
336
- _a.sent();
356
+ _b.sent();
357
+ return [4 /*yield*/, async_test("auth by email", function () { return sdk.api.endusers.generate_auth_token({ email: e.email }); }, passOnVoid)];
358
+ case 5:
359
+ _b.sent();
360
+ return [4 /*yield*/, async_test("auth by phone", function () { return sdk.api.endusers.generate_auth_token({ phone: e.phone }); }, passOnVoid)];
361
+ case 6:
362
+ _b.sent();
363
+ return [4 /*yield*/, async_test("auth by nothing throws error", function () { return sdk.api.endusers.generate_auth_token({ phone: undefined }); }, { shouldError: true, onError: function (e) { return e.message === "One of id, externalId, email, or phone is required"; } })];
364
+ case 7:
365
+ _b.sent();
366
+ return [4 /*yield*/, async_test("auth by bad field throws error", function () { return sdk.api.endusers.generate_auth_token({ email: "notavalidemail@tellescope.com" }); }, { shouldError: true, onError: function (e) { return e.message === "Could not find a corresponding enduser"; } })];
367
+ case 8:
368
+ _b.sent();
369
+ return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser.id)];
370
+ case 9:
371
+ _b.sent();
337
372
  return [2 /*return*/];
338
373
  }
339
374
  });
@@ -456,7 +491,7 @@ var run_generated_tests = function (_a) {
456
491
  case 7:
457
492
  _c.sent();
458
493
  _c.label = 8;
459
- case 8: return [4 /*yield*/, async_test("get-".concat(singularName), function () { return queries.getOne(_id, filter); }, { onResult: function (d) {
494
+ case 8: return [4 /*yield*/, async_test("get-".concat(singularName), function () { return queries.getOne(_id); }, { onResult: function (d) {
460
495
  if (!(d === null || d === void 0 ? void 0 : d.id))
461
496
  return false;
462
497
  for (var k in instance) {
@@ -485,7 +520,7 @@ var run_generated_tests = function (_a) {
485
520
  return [4 /*yield*/, async_test("delete-".concat(singularName), function () { return queries.deleteOne(_id); }, passOnVoid)];
486
521
  case 11:
487
522
  _c.sent();
488
- return [4 /*yield*/, async_test("get-".concat(singularName, " (verify delete)"), function () { return queries.getOne(_id, filter); }, { shouldError: true, onError: function (e) { return e.message === 'Could not find a record for the given id'; } })];
523
+ return [4 /*yield*/, async_test("get-".concat(singularName, " (verify delete)"), function () { return queries.getOne(_id); }, { shouldError: true, onError: function (e) { return e.message === 'Could not find a record for the given id'; } })];
489
524
  case 12:
490
525
  _c.sent();
491
526
  return [2 /*return*/];
@@ -680,7 +715,7 @@ var journey_tests = function (queries) {
680
715
  return [4 /*yield*/, async_test("journey-update - insert new state at front", function () { return queries.getOne(journey.id); }, { onResult: function (j) { return objects_equivalent(j.states, [{ name: 'First', priority: "N/A" }, { name: 'Added', priority: "N/A" }]); } })];
681
716
  case 24:
682
717
  _g.sent();
683
- return [4 /*yield*/, async_test("journey-updateState", function () { return queries.updateState({ id: journey.id, name: 'Added', updates: { name: 'Updated', priority: 'N/A' } }); }, passOnVoid)];
718
+ return [4 /*yield*/, async_test("journey-updateState", function () { return queries.update_state({ id: journey.id, name: 'Added', updates: { name: 'Updated', priority: 'N/A' } }); }, passOnVoid)];
684
719
  case 25:
685
720
  _g.sent();
686
721
  return [4 /*yield*/, wait(undefined, 25)]; // wait for side effects to update endusers
@@ -910,23 +945,30 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
910
945
  return [4 /*yield*/, sdk.api.chats.createOne({ roomId: room.id, message: "Hello!" })];
911
946
  case 3:
912
947
  chat = _a.sent();
913
- return [4 /*yield*/, sdk.api.chats.createOne({ roomId: room.id, message: "Hello..." })];
948
+ return [4 /*yield*/, sdk.api.chats.createOne({ roomId: room.id, message: "Hello..." })
949
+ // await async_test(
950
+ // `get-chat (without filter)`,
951
+ // () => sdk.api.chats.getOne(chat.id),
952
+ // { shouldError: true, onError: () => true }
953
+ // )
954
+ ];
914
955
  case 4:
915
956
  chat2 = _a.sent();
916
- return [4 /*yield*/, async_test("get-chat (without filter)", function () { return sdk.api.chats.getOne(chat.id); }, { shouldError: true, onError: function () { return true; } })];
917
- case 5:
918
- _a.sent();
957
+ // await async_test(
958
+ // `get-chat (without filter)`,
959
+ // () => sdk.api.chats.getOne(chat.id),
960
+ // { shouldError: true, onError: () => true }
961
+ // )
919
962
  return [4 /*yield*/, async_test("get-chats (without filter)", function () { return sdk.api.chats.getSome({}); }, { shouldError: true, onError: function () { return true; } })];
920
- case 6:
921
- _a.sent();
922
- return [4 /*yield*/, async_test("get-chat (with filter)", function () { return sdk.api.chats.getOne(chat.id, { roomId: room.id }); }, { onResult: function (c) { return (c === null || c === void 0 ? void 0 : c.id) === chat.id; } })];
923
- case 7:
963
+ case 5:
964
+ // await async_test(
965
+ // `get-chat (without filter)`,
966
+ // () => sdk.api.chats.getOne(chat.id),
967
+ // { shouldError: true, onError: () => true }
968
+ // )
924
969
  _a.sent();
925
970
  return [4 /*yield*/, async_test("get-chats (with filter)", function () { return sdk.api.chats.getSome({ filter: { roomId: room.id } }); }, { onResult: function (c) { return (c === null || c === void 0 ? void 0 : c.length) === 2; } })];
926
- case 8:
927
- _a.sent();
928
- return [4 /*yield*/, async_test("get-chat not allowed", function () { return sdk2.api.chats.getOne(chat.id, { roomId: room.id }); }, { shouldError: true, onError: function (e) { return e.message === 'You do not have permission to access this resource'; } })];
929
- case 9:
971
+ case 6:
930
972
  _a.sent();
931
973
  return [4 /*yield*/, async_test("get-chats not allowed", function () { return sdk2.api.chats.getSome({ filter: { roomId: room.id } }); }, { shouldError: true, onError: function (e) { return e.message === 'You do not have permission to access this resource'; } })
932
974
  // currently disabled endpoint altogether
@@ -936,7 +978,7 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
936
978
  // { shouldError: true, onError: e => e.message === 'You do not have permission to access this resource' }
937
979
  // )
938
980
  ];
939
- case 10:
981
+ case 7:
940
982
  _a.sent();
941
983
  // currently disabled endpoint altogether
942
984
  // await async_test(
@@ -952,7 +994,7 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
952
994
  // { shouldError: true, onError: e => e.message === 'Error parsing field updates: roomId is not valid for updates' }
953
995
  // )
954
996
  ];
955
- case 11:
997
+ case 8:
956
998
  // currently disabled endpoint altogether
957
999
  // await async_test(
958
1000
  // `update-chat not allowed`,
@@ -967,7 +1009,7 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
967
1009
  // { shouldError: true, onError: e => e.message === 'Error parsing field updates: roomId is not valid for updates' }
968
1010
  // )
969
1011
  return [4 /*yield*/, sdk.api.chat_rooms.deleteOne(room.id)];
970
- case 12:
1012
+ case 9:
971
1013
  // currently disabled endpoint altogether
972
1014
  // await async_test(
973
1015
  // `update-chat can't update roomId`,
@@ -976,51 +1018,51 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
976
1018
  // )
977
1019
  _a.sent();
978
1020
  return [4 /*yield*/, wait(undefined, 25)];
979
- case 13:
1021
+ case 10:
980
1022
  _a.sent();
981
- return [4 /*yield*/, async_test("get-chat (deleted as dependency of room 1)", function () { return sdk.api.chats.getOne(chat.id, { roomId: room.id }); }, { shouldError: true, onError: function (e) { return e.message === 'Could not find a record for the given id'; } })];
982
- case 14:
1023
+ return [4 /*yield*/, async_test("get-chat (deleted as dependency of room 1)", function () { return sdk.api.chats.getOne(chat.id); }, { shouldError: true, onError: function (e) { return e.message === 'Could not find a record for the given id'; } })];
1024
+ case 11:
983
1025
  _a.sent();
984
- return [4 /*yield*/, async_test("get-chat (deleted as dependency of room 2)", function () { return sdk.api.chats.getOne(chat2.id, { roomId: room.id }); }, { shouldError: true, onError: function (e) { return e.message === 'Could not find a record for the given id'; } })];
985
- case 15:
1026
+ return [4 /*yield*/, async_test("get-chat (deleted as dependency of room 2)", function () { return sdk.api.chats.getOne(chat2.id); }, { shouldError: true, onError: function (e) { return e.message === 'Could not find a record for the given id'; } })];
1027
+ case 12:
986
1028
  _a.sent();
987
1029
  return [4 /*yield*/, sdk.api.chat_rooms.createOne({ type: 'internal', userIds: [userId, sdk2.userInfo.id] })];
988
- case 16:
1030
+ case 13:
989
1031
  sharedRoom = _a.sent();
990
1032
  return [4 /*yield*/, sdk.api.chats.createOne({ roomId: sharedRoom.id, message: "Hello!", })];
991
- case 17:
1033
+ case 14:
992
1034
  sharedChat = _a.sent();
993
1035
  return [4 /*yield*/, sdk2.api.chats.createOne({ roomId: sharedRoom.id, message: "Hello there!", })];
994
- case 18:
1036
+ case 15:
995
1037
  sharedChat2 = _a.sent();
996
- return [4 /*yield*/, async_test("get-chat (shared, user1)", function () { return sdk.api.chats.getOne(sharedChat.id, { roomId: sharedRoom.id }); }, { onResult: function (r) { return r.id === sharedChat.id; } })];
997
- case 19:
1038
+ return [4 /*yield*/, async_test("get-chat (shared, user1)", function () { return sdk.api.chats.getOne(sharedChat.id); }, { onResult: function (r) { return r.id === sharedChat.id; } })];
1039
+ case 16:
998
1040
  _a.sent();
999
- return [4 /*yield*/, async_test("get-chat (shared, user2)", function () { return sdk2.api.chats.getOne(sharedChat.id, { roomId: sharedRoom.id }); }, { onResult: function (r) { return r.id === sharedChat.id; } })];
1000
- case 20:
1041
+ return [4 /*yield*/, async_test("get-chat (shared, user2)", function () { return sdk2.api.chats.getOne(sharedChat.id); }, { onResult: function (r) { return r.id === sharedChat.id; } })];
1042
+ case 17:
1001
1043
  _a.sent();
1002
1044
  return [4 /*yield*/, async_test("get-chats (shared, user1)", function () { return sdk.api.chats.getSome({ filter: { roomId: sharedRoom.id } }); }, { onResult: function (cs) { return cs.length === 2 && !!cs.find(function (c) { return c.id === sharedChat.id; }) && !!cs.find(function (c) { return c.id === sharedChat2.id; }); } })];
1003
- case 21:
1045
+ case 18:
1004
1046
  _a.sent();
1005
1047
  return [4 /*yield*/, async_test("get-chats (shared, user2)", function () { return sdk2.api.chats.getSome({ filter: { roomId: sharedRoom.id } }); }, { onResult: function (cs) { return cs.length === 2 && !!cs.find(function (c) { return c.id === sharedChat.id; }) && !!cs.find(function (c) { return c.id === sharedChat2.id; }); } })
1006
1048
  // test setNull dependency
1007
1049
  ];
1008
- case 22:
1050
+ case 19:
1009
1051
  _a.sent();
1010
1052
  return [4 /*yield*/, sdk.api.chat_rooms.createOne({ type: 'internal', userIds: [userId] })];
1011
- case 23:
1053
+ case 20:
1012
1054
  roomNull = _a.sent();
1013
1055
  return [4 /*yield*/, sdk.api.chats.createOne({ roomId: roomNull.id, message: "Hello!" })];
1014
- case 24:
1056
+ case 21:
1015
1057
  chatNull = _a.sent();
1016
1058
  return [4 /*yield*/, sdk.api.chats.createOne({ roomId: roomNull.id, message: "Hello...", replyId: chatNull.id })];
1017
- case 25:
1059
+ case 22:
1018
1060
  chat2Null = _a.sent();
1019
1061
  return [4 /*yield*/, sdk.api.chats.deleteOne(chatNull.id)];
1020
- case 26:
1062
+ case 23:
1021
1063
  _a.sent();
1022
- return [4 /*yield*/, async_test("get-chat (setNull working)", function () { return sdk.api.chats.getOne(chat2Null.id, { roomId: roomNull.id }); }, { onResult: function (c) { return c.replyId === null; } })];
1023
- case 27:
1064
+ return [4 /*yield*/, async_test("get-chat (setNull working)", function () { return sdk.api.chats.getOne(chat2Null.id); }, { onResult: function (c) { return c.replyId === null; } })];
1065
+ case 24:
1024
1066
  _a.sent();
1025
1067
  return [2 /*return*/];
1026
1068
  }
@@ -1037,7 +1079,7 @@ var enduserAccessTests = function () { return __awaiter(void 0, void 0, void 0,
1037
1079
  return [4 /*yield*/, sdk.api.endusers.createOne({ email: email })];
1038
1080
  case 1:
1039
1081
  enduser = _j.sent();
1040
- return [4 /*yield*/, sdk.api.endusers.setPassword({ id: enduser.id, password: password }).catch(console.error)];
1082
+ return [4 /*yield*/, sdk.api.endusers.set_password({ id: enduser.id, password: password }).catch(console.error)];
1041
1083
  case 2:
1042
1084
  _j.sent();
1043
1085
  return [4 /*yield*/, enduserSDK.authenticate(email, password).catch(console.error)];
@@ -1182,49 +1224,53 @@ var tests = {
1182
1224
  var _f, _g;
1183
1225
  return __generator(this, function (_h) {
1184
1226
  switch (_h.label) {
1185
- case 0: return [4 /*yield*/, sdk.authenticate(email, password, host)];
1186
- case 1:
1187
- _h.sent();
1227
+ case 0:
1188
1228
  log_header("API");
1189
- _h.label = 2;
1229
+ _h.label = 1;
1230
+ case 1:
1231
+ _h.trys.push([1, 11, , 12]);
1232
+ return [4 /*yield*/, sdk.authenticate(email, password)];
1190
1233
  case 2:
1191
- _h.trys.push([2, 10, , 11]);
1234
+ _h.sent();
1192
1235
  return [4 /*yield*/, setup_tests()];
1193
1236
  case 3:
1194
1237
  _h.sent();
1195
1238
  return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
1196
1239
  case 4:
1197
1240
  _h.sent(); // should come right after setup tests
1198
- return [4 /*yield*/, filterTests()];
1241
+ return [4 /*yield*/, badInputTests()];
1199
1242
  case 5:
1200
1243
  _h.sent();
1201
- return [4 /*yield*/, updatesTests()];
1244
+ return [4 /*yield*/, filterTests()];
1202
1245
  case 6:
1203
1246
  _h.sent();
1204
- return [4 /*yield*/, threadKeyTests()];
1247
+ return [4 /*yield*/, updatesTests()];
1205
1248
  case 7:
1206
1249
  _h.sent();
1207
- return [4 /*yield*/, enduserAccessTests()];
1250
+ return [4 /*yield*/, threadKeyTests()];
1208
1251
  case 8:
1209
1252
  _h.sent();
1210
- return [4 /*yield*/, generateEnduserAuthTests()];
1253
+ return [4 /*yield*/, enduserAccessTests()];
1211
1254
  case 9:
1212
1255
  _h.sent();
1213
- return [3 /*break*/, 11];
1256
+ return [4 /*yield*/, generateEnduserAuthTests()];
1214
1257
  case 10:
1258
+ _h.sent();
1259
+ return [3 /*break*/, 12];
1260
+ case 11:
1215
1261
  err_1 = _h.sent();
1216
1262
  console.error("Failed during custom test");
1217
1263
  console.error(err_1);
1218
1264
  process.exit();
1219
- return [3 /*break*/, 11];
1220
- case 11:
1265
+ return [3 /*break*/, 12];
1266
+ case 12:
1221
1267
  _a = [];
1222
1268
  for (_b in schema)
1223
1269
  _a.push(_b);
1224
1270
  _i = 0;
1225
- _h.label = 12;
1226
- case 12:
1227
- if (!(_i < _a.length)) return [3 /*break*/, 15];
1271
+ _h.label = 13;
1272
+ case 13:
1273
+ if (!(_i < _a.length)) return [3 /*break*/, 16];
1228
1274
  n = _a[_i];
1229
1275
  returnValidation = (_g = (_f = schema[n].customActions) === null || _f === void 0 ? void 0 : _f.create) === null || _g === void 0 ? void 0 : _g.returns;
1230
1276
  return [4 /*yield*/, run_generated_tests({
@@ -1235,37 +1281,37 @@ var tests = {
1235
1281
  create: returnValidation,
1236
1282
  }
1237
1283
  })];
1238
- case 13:
1239
- _h.sent();
1240
- _h.label = 14;
1241
1284
  case 14:
1242
- _i++;
1243
- return [3 /*break*/, 12];
1285
+ _h.sent();
1286
+ _h.label = 15;
1244
1287
  case 15:
1288
+ _i++;
1289
+ return [3 /*break*/, 13];
1290
+ case 16:
1245
1291
  _c = [];
1246
1292
  for (_d in tests)
1247
1293
  _c.push(_d);
1248
1294
  _e = 0;
1249
- _h.label = 16;
1250
- case 16:
1251
- if (!(_e < _c.length)) return [3 /*break*/, 21];
1252
- t = _c[_e];
1253
1295
  _h.label = 17;
1254
1296
  case 17:
1255
- _h.trys.push([17, 19, , 20]);
1256
- return [4 /*yield*/, tests[t]()];
1297
+ if (!(_e < _c.length)) return [3 /*break*/, 22];
1298
+ t = _c[_e];
1299
+ _h.label = 18;
1257
1300
  case 18:
1258
- _h.sent();
1259
- return [3 /*break*/, 20];
1301
+ _h.trys.push([18, 20, , 21]);
1302
+ return [4 /*yield*/, tests[t]()];
1260
1303
  case 19:
1304
+ _h.sent();
1305
+ return [3 /*break*/, 21];
1306
+ case 20:
1261
1307
  err_2 = _h.sent();
1262
1308
  console.error("Error running test:");
1263
1309
  console.error(err_2);
1264
- return [3 /*break*/, 20];
1265
- case 20:
1266
- _e++;
1267
- return [3 /*break*/, 16];
1310
+ return [3 /*break*/, 21];
1268
1311
  case 21:
1312
+ _e++;
1313
+ return [3 /*break*/, 17];
1314
+ case 22:
1269
1315
  process.exit();
1270
1316
  return [2 /*return*/];
1271
1317
  }