@tellescope/sdk 0.0.16 → 0.0.20

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 +8 -3
  2. package/lib/cjs/enduser.d.ts.map +1 -1
  3. package/lib/cjs/enduser.js +6 -3
  4. package/lib/cjs/enduser.js.map +1 -1
  5. package/lib/cjs/sdk.d.ts +10 -6
  6. package/lib/cjs/sdk.d.ts.map +1 -1
  7. package/lib/cjs/sdk.js +7 -6
  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 +1 -1
  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 +124 -7
  18. package/lib/cjs/tests/socket_tests.js.map +1 -1
  19. package/lib/cjs/tests/tests.js +147 -107
  20. package/lib/cjs/tests/tests.js.map +1 -1
  21. package/lib/esm/enduser.d.ts +8 -3
  22. package/lib/esm/enduser.d.ts.map +1 -1
  23. package/lib/esm/enduser.js +6 -3
  24. package/lib/esm/enduser.js.map +1 -1
  25. package/lib/esm/sdk.d.ts +10 -6
  26. package/lib/esm/sdk.d.ts.map +1 -1
  27. package/lib/esm/sdk.js +7 -6
  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 +1 -1
  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 +122 -7
  38. package/lib/esm/tests/socket_tests.js.map +1 -1
  39. package/lib/esm/tests/tests.js +147 -107
  40. package/lib/esm/tests/tests.js.map +1 -1
  41. package/lib/tsconfig.tsbuildinfo +1 -1
  42. package/package.json +11 -11
  43. package/src/enduser.ts +12 -7
  44. package/src/sdk.ts +23 -13
  45. package/src/session.ts +3 -23
  46. package/src/tests/public_endpoint_tests.ts +1 -1
  47. package/src/tests/socket_tests.ts +67 -4
  48. package/src/tests/tests.ts +52 -31
@@ -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,40 +335,50 @@ 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 e, _a, authToken, enduser, isAuthenticated;
320
- return __generator(this, function (_b) {
321
- switch (_b.label) {
338
+ var externalId, e, _a, authToken, enduser, isAuthenticated, _b, authTokenUID, enduser2, _c;
339
+ return __generator(this, function (_d) {
340
+ switch (_d.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', phone: '+15555555555', externalId: '1029f9v9sjd0as' })];
343
+ externalId = '1029f9v9sjd0as';
344
+ return [4 /*yield*/, sdk.api.endusers.createOne({ email: 'generated@tellescope.com', phone: '+15555555555', externalId: externalId })];
325
345
  case 1:
326
- e = _b.sent();
346
+ e = _d.sent();
327
347
  return [4 /*yield*/, sdk.api.endusers.generate_auth_token({ id: e.id })];
328
348
  case 2:
329
- _a = _b.sent(), authToken = _a.authToken, enduser = _a.enduser;
349
+ _a = _d.sent(), authToken = _a.authToken, enduser = _a.enduser;
330
350
  assert(!!authToken && !!enduser, 'invalid returned values', 'Generate authToken and get enduser');
331
351
  return [4 /*yield*/, sdk.api.endusers.is_authenticated({ id: enduser.id, authToken: authToken })];
332
352
  case 3:
333
- isAuthenticated = (_b.sent()).isAuthenticated;
353
+ isAuthenticated = (_d.sent()).isAuthenticated;
334
354
  assert(isAuthenticated, 'invalid authToken generated for enduser', 'Generate authToken for enduser is valid');
335
- return [4 /*yield*/, async_test("auth by externalId", function () { return sdk.api.endusers.generate_auth_token({ externalId: e.externalId }); }, passOnVoid)];
355
+ return [4 /*yield*/, sdk.api.endusers.generate_auth_token({ externalId: externalId })];
336
356
  case 4:
337
- _b.sent();
338
- return [4 /*yield*/, async_test("auth by email", function () { return sdk.api.endusers.generate_auth_token({ email: e.email }); }, passOnVoid)];
357
+ _b = _d.sent(), authTokenUID = _b.authToken, enduser2 = _b.enduser;
358
+ assert(!!authTokenUID && !!enduser2, 'invalid returned values eid', 'Generate authToken and get enduser eid');
359
+ _c = assert;
360
+ return [4 /*yield*/, sdk.api.endusers.is_authenticated({ id: enduser2.id, authToken: authTokenUID })];
339
361
  case 5:
340
- _b.sent();
341
- return [4 /*yield*/, async_test("auth by phone", function () { return sdk.api.endusers.generate_auth_token({ phone: e.phone }); }, passOnVoid)];
362
+ _c.apply(void 0, [(_d.sent()).isAuthenticated,
363
+ 'invalid authToken generated for enduser', 'Generate authToken for enduser is valid']);
364
+ return [4 /*yield*/, async_test("auth by externalId", function () { return sdk.api.endusers.generate_auth_token({ externalId: e.externalId }); }, passOnVoid)];
342
365
  case 6:
343
- _b.sent();
344
- 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"; } })];
366
+ _d.sent();
367
+ return [4 /*yield*/, async_test("auth by email", function () { return sdk.api.endusers.generate_auth_token({ email: e.email }); }, passOnVoid)];
345
368
  case 7:
346
- _b.sent();
347
- 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"; } })];
369
+ _d.sent();
370
+ return [4 /*yield*/, async_test("auth by phone", function () { return sdk.api.endusers.generate_auth_token({ phone: e.phone }); }, passOnVoid)];
348
371
  case 8:
349
- _b.sent();
350
- return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser.id)];
372
+ _d.sent();
373
+ 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"; } })];
351
374
  case 9:
352
- _b.sent();
375
+ _d.sent();
376
+ 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"; } })];
377
+ case 10:
378
+ _d.sent();
379
+ return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser.id)];
380
+ case 11:
381
+ _d.sent();
353
382
  return [2 /*return*/];
354
383
  }
355
384
  });
@@ -472,7 +501,7 @@ var run_generated_tests = function (_a) {
472
501
  case 7:
473
502
  _c.sent();
474
503
  _c.label = 8;
475
- case 8: return [4 /*yield*/, async_test("get-".concat(singularName), function () { return queries.getOne(_id, filter); }, { onResult: function (d) {
504
+ case 8: return [4 /*yield*/, async_test("get-".concat(singularName), function () { return queries.getOne(_id); }, { onResult: function (d) {
476
505
  if (!(d === null || d === void 0 ? void 0 : d.id))
477
506
  return false;
478
507
  for (var k in instance) {
@@ -501,7 +530,7 @@ var run_generated_tests = function (_a) {
501
530
  return [4 /*yield*/, async_test("delete-".concat(singularName), function () { return queries.deleteOne(_id); }, passOnVoid)];
502
531
  case 11:
503
532
  _c.sent();
504
- 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'; } })];
533
+ 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'; } })];
505
534
  case 12:
506
535
  _c.sent();
507
536
  return [2 /*return*/];
@@ -926,23 +955,30 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
926
955
  return [4 /*yield*/, sdk.api.chats.createOne({ roomId: room.id, message: "Hello!" })];
927
956
  case 3:
928
957
  chat = _a.sent();
929
- return [4 /*yield*/, sdk.api.chats.createOne({ roomId: room.id, message: "Hello..." })];
958
+ return [4 /*yield*/, sdk.api.chats.createOne({ roomId: room.id, message: "Hello..." })
959
+ // await async_test(
960
+ // `get-chat (without filter)`,
961
+ // () => sdk.api.chats.getOne(chat.id),
962
+ // { shouldError: true, onError: () => true }
963
+ // )
964
+ ];
930
965
  case 4:
931
966
  chat2 = _a.sent();
932
- return [4 /*yield*/, async_test("get-chat (without filter)", function () { return sdk.api.chats.getOne(chat.id); }, { shouldError: true, onError: function () { return true; } })];
933
- case 5:
934
- _a.sent();
967
+ // await async_test(
968
+ // `get-chat (without filter)`,
969
+ // () => sdk.api.chats.getOne(chat.id),
970
+ // { shouldError: true, onError: () => true }
971
+ // )
935
972
  return [4 /*yield*/, async_test("get-chats (without filter)", function () { return sdk.api.chats.getSome({}); }, { shouldError: true, onError: function () { return true; } })];
936
- case 6:
937
- _a.sent();
938
- 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; } })];
939
- case 7:
973
+ case 5:
974
+ // await async_test(
975
+ // `get-chat (without filter)`,
976
+ // () => sdk.api.chats.getOne(chat.id),
977
+ // { shouldError: true, onError: () => true }
978
+ // )
940
979
  _a.sent();
941
980
  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; } })];
942
- case 8:
943
- _a.sent();
944
- 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'; } })];
945
- case 9:
981
+ case 6:
946
982
  _a.sent();
947
983
  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'; } })
948
984
  // currently disabled endpoint altogether
@@ -952,7 +988,7 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
952
988
  // { shouldError: true, onError: e => e.message === 'You do not have permission to access this resource' }
953
989
  // )
954
990
  ];
955
- case 10:
991
+ case 7:
956
992
  _a.sent();
957
993
  // currently disabled endpoint altogether
958
994
  // await async_test(
@@ -968,7 +1004,7 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
968
1004
  // { shouldError: true, onError: e => e.message === 'Error parsing field updates: roomId is not valid for updates' }
969
1005
  // )
970
1006
  ];
971
- case 11:
1007
+ case 8:
972
1008
  // currently disabled endpoint altogether
973
1009
  // await async_test(
974
1010
  // `update-chat not allowed`,
@@ -983,7 +1019,7 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
983
1019
  // { shouldError: true, onError: e => e.message === 'Error parsing field updates: roomId is not valid for updates' }
984
1020
  // )
985
1021
  return [4 /*yield*/, sdk.api.chat_rooms.deleteOne(room.id)];
986
- case 12:
1022
+ case 9:
987
1023
  // currently disabled endpoint altogether
988
1024
  // await async_test(
989
1025
  // `update-chat can't update roomId`,
@@ -992,51 +1028,51 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
992
1028
  // )
993
1029
  _a.sent();
994
1030
  return [4 /*yield*/, wait(undefined, 25)];
995
- case 13:
1031
+ case 10:
996
1032
  _a.sent();
997
- 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'; } })];
998
- case 14:
1033
+ 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'; } })];
1034
+ case 11:
999
1035
  _a.sent();
1000
- 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'; } })];
1001
- case 15:
1036
+ 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'; } })];
1037
+ case 12:
1002
1038
  _a.sent();
1003
1039
  return [4 /*yield*/, sdk.api.chat_rooms.createOne({ type: 'internal', userIds: [userId, sdk2.userInfo.id] })];
1004
- case 16:
1040
+ case 13:
1005
1041
  sharedRoom = _a.sent();
1006
1042
  return [4 /*yield*/, sdk.api.chats.createOne({ roomId: sharedRoom.id, message: "Hello!", })];
1007
- case 17:
1043
+ case 14:
1008
1044
  sharedChat = _a.sent();
1009
1045
  return [4 /*yield*/, sdk2.api.chats.createOne({ roomId: sharedRoom.id, message: "Hello there!", })];
1010
- case 18:
1046
+ case 15:
1011
1047
  sharedChat2 = _a.sent();
1012
- 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; } })];
1013
- case 19:
1048
+ 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; } })];
1049
+ case 16:
1014
1050
  _a.sent();
1015
- 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; } })];
1016
- case 20:
1051
+ 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; } })];
1052
+ case 17:
1017
1053
  _a.sent();
1018
1054
  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; }); } })];
1019
- case 21:
1055
+ case 18:
1020
1056
  _a.sent();
1021
1057
  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; }); } })
1022
1058
  // test setNull dependency
1023
1059
  ];
1024
- case 22:
1060
+ case 19:
1025
1061
  _a.sent();
1026
1062
  return [4 /*yield*/, sdk.api.chat_rooms.createOne({ type: 'internal', userIds: [userId] })];
1027
- case 23:
1063
+ case 20:
1028
1064
  roomNull = _a.sent();
1029
1065
  return [4 /*yield*/, sdk.api.chats.createOne({ roomId: roomNull.id, message: "Hello!" })];
1030
- case 24:
1066
+ case 21:
1031
1067
  chatNull = _a.sent();
1032
1068
  return [4 /*yield*/, sdk.api.chats.createOne({ roomId: roomNull.id, message: "Hello...", replyId: chatNull.id })];
1033
- case 25:
1069
+ case 22:
1034
1070
  chat2Null = _a.sent();
1035
1071
  return [4 /*yield*/, sdk.api.chats.deleteOne(chatNull.id)];
1036
- case 26:
1072
+ case 23:
1037
1073
  _a.sent();
1038
- 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; } })];
1039
- case 27:
1074
+ return [4 /*yield*/, async_test("get-chat (setNull working)", function () { return sdk.api.chats.getOne(chat2Null.id); }, { onResult: function (c) { return c.replyId === null; } })];
1075
+ case 24:
1040
1076
  _a.sent();
1041
1077
  return [2 /*return*/];
1042
1078
  }
@@ -1198,49 +1234,53 @@ var tests = {
1198
1234
  var _f, _g;
1199
1235
  return __generator(this, function (_h) {
1200
1236
  switch (_h.label) {
1201
- case 0: return [4 /*yield*/, sdk.authenticate(email, password, host)];
1202
- case 1:
1203
- _h.sent();
1237
+ case 0:
1204
1238
  log_header("API");
1205
- _h.label = 2;
1239
+ _h.label = 1;
1240
+ case 1:
1241
+ _h.trys.push([1, 11, , 12]);
1242
+ return [4 /*yield*/, sdk.authenticate(email, password)];
1206
1243
  case 2:
1207
- _h.trys.push([2, 10, , 11]);
1244
+ _h.sent();
1208
1245
  return [4 /*yield*/, setup_tests()];
1209
1246
  case 3:
1210
1247
  _h.sent();
1211
1248
  return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
1212
1249
  case 4:
1213
1250
  _h.sent(); // should come right after setup tests
1214
- return [4 /*yield*/, filterTests()];
1251
+ return [4 /*yield*/, badInputTests()];
1215
1252
  case 5:
1216
1253
  _h.sent();
1217
- return [4 /*yield*/, updatesTests()];
1254
+ return [4 /*yield*/, filterTests()];
1218
1255
  case 6:
1219
1256
  _h.sent();
1220
- return [4 /*yield*/, threadKeyTests()];
1257
+ return [4 /*yield*/, updatesTests()];
1221
1258
  case 7:
1222
1259
  _h.sent();
1223
- return [4 /*yield*/, enduserAccessTests()];
1260
+ return [4 /*yield*/, threadKeyTests()];
1224
1261
  case 8:
1225
1262
  _h.sent();
1226
- return [4 /*yield*/, generateEnduserAuthTests()];
1263
+ return [4 /*yield*/, enduserAccessTests()];
1227
1264
  case 9:
1228
1265
  _h.sent();
1229
- return [3 /*break*/, 11];
1266
+ return [4 /*yield*/, generateEnduserAuthTests()];
1230
1267
  case 10:
1268
+ _h.sent();
1269
+ return [3 /*break*/, 12];
1270
+ case 11:
1231
1271
  err_1 = _h.sent();
1232
1272
  console.error("Failed during custom test");
1233
1273
  console.error(err_1);
1234
1274
  process.exit();
1235
- return [3 /*break*/, 11];
1236
- case 11:
1275
+ return [3 /*break*/, 12];
1276
+ case 12:
1237
1277
  _a = [];
1238
1278
  for (_b in schema)
1239
1279
  _a.push(_b);
1240
1280
  _i = 0;
1241
- _h.label = 12;
1242
- case 12:
1243
- if (!(_i < _a.length)) return [3 /*break*/, 15];
1281
+ _h.label = 13;
1282
+ case 13:
1283
+ if (!(_i < _a.length)) return [3 /*break*/, 16];
1244
1284
  n = _a[_i];
1245
1285
  returnValidation = (_g = (_f = schema[n].customActions) === null || _f === void 0 ? void 0 : _f.create) === null || _g === void 0 ? void 0 : _g.returns;
1246
1286
  return [4 /*yield*/, run_generated_tests({
@@ -1251,37 +1291,37 @@ var tests = {
1251
1291
  create: returnValidation,
1252
1292
  }
1253
1293
  })];
1254
- case 13:
1255
- _h.sent();
1256
- _h.label = 14;
1257
1294
  case 14:
1258
- _i++;
1259
- return [3 /*break*/, 12];
1295
+ _h.sent();
1296
+ _h.label = 15;
1260
1297
  case 15:
1298
+ _i++;
1299
+ return [3 /*break*/, 13];
1300
+ case 16:
1261
1301
  _c = [];
1262
1302
  for (_d in tests)
1263
1303
  _c.push(_d);
1264
1304
  _e = 0;
1265
- _h.label = 16;
1266
- case 16:
1267
- if (!(_e < _c.length)) return [3 /*break*/, 21];
1268
- t = _c[_e];
1269
1305
  _h.label = 17;
1270
1306
  case 17:
1271
- _h.trys.push([17, 19, , 20]);
1272
- return [4 /*yield*/, tests[t]()];
1307
+ if (!(_e < _c.length)) return [3 /*break*/, 22];
1308
+ t = _c[_e];
1309
+ _h.label = 18;
1273
1310
  case 18:
1274
- _h.sent();
1275
- return [3 /*break*/, 20];
1311
+ _h.trys.push([18, 20, , 21]);
1312
+ return [4 /*yield*/, tests[t]()];
1276
1313
  case 19:
1314
+ _h.sent();
1315
+ return [3 /*break*/, 21];
1316
+ case 20:
1277
1317
  err_2 = _h.sent();
1278
1318
  console.error("Error running test:");
1279
1319
  console.error(err_2);
1280
- return [3 /*break*/, 20];
1281
- case 20:
1282
- _e++;
1283
- return [3 /*break*/, 16];
1320
+ return [3 /*break*/, 21];
1284
1321
  case 21:
1322
+ _e++;
1323
+ return [3 /*break*/, 17];
1324
+ case 22:
1285
1325
  process.exit();
1286
1326
  return [2 /*return*/];
1287
1327
  }