@tellescope/sdk 0.0.31 → 0.0.35

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.
@@ -65,8 +65,12 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
65
65
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
66
66
  }
67
67
  };
68
+ var __importDefault = (this && this.__importDefault) || function (mod) {
69
+ return (mod && mod.__esModule) ? mod : { "default": mod };
70
+ };
68
71
  Object.defineProperty(exports, "__esModule", { value: true });
69
72
  require('source-map-support').install();
73
+ var crypto_1 = __importDefault(require("crypto"));
70
74
  var buffer = __importStar(require("buffer")); // only node >=15.7.0
71
75
  var validation_1 = require("@tellescope/validation");
72
76
  var sdk_1 = require("../sdk");
@@ -109,6 +113,7 @@ var voidResult = function () { return true; };
109
113
  var passOnVoid = { shouldError: false, onResult: voidResult };
110
114
  // const isNull = (d: any) => d === null
111
115
  var setup_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
116
+ var uInfo, originalAuthToken;
112
117
  return __generator(this, function (_a) {
113
118
  switch (_a.label) {
114
119
  case 0: return [4 /*yield*/, (0, testing_1.async_test)('test_online', sdk.test_online, { expectedResult: 'API V1 Online' })];
@@ -132,8 +137,15 @@ var setup_tests = function () { return __awaiter(void 0, void 0, void 0, functio
132
137
  return [4 /*yield*/, (0, testing_1.async_test)('test_authenticated (re-authenticated)', sdk.test_authenticated, { expectedResult: 'Authenticated!' })];
133
138
  case 7:
134
139
  _a.sent();
135
- return [4 /*yield*/, (0, testing_1.async_test)('reset_db', function () { return sdk.reset_db(); }, passOnVoid)];
140
+ uInfo = sdk.userInfo;
141
+ originalAuthToken = sdk.authToken;
142
+ return [4 /*yield*/, sdk.refresh_session()];
136
143
  case 8:
144
+ _a.sent();
145
+ (0, testing_1.assert)(uInfo.id === sdk.userInfo.id, 'userInfo mismatch', 'userInfo id preserved after refresh');
146
+ (0, testing_1.assert)(!!originalAuthToken && !!sdk.authToken && sdk.authToken !== originalAuthToken, 'same authToken after refresh', 'authToken refresh');
147
+ return [4 /*yield*/, (0, testing_1.async_test)('reset_db', function () { return sdk.reset_db(); }, passOnVoid)];
148
+ case 9:
137
149
  _a.sent();
138
150
  return [2 /*return*/];
139
151
  }
@@ -929,7 +941,7 @@ var sms_tests = function (queries) {
929
941
  });
930
942
  };
931
943
  var chat_room_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
932
- var sdk2, room, emptyRoom;
944
+ var sdk2, email, password, enduser, room, verifyRoomDisplayInfo, emptyRoom;
933
945
  return __generator(this, function (_a) {
934
946
  switch (_a.label) {
935
947
  case 0:
@@ -937,35 +949,87 @@ var chat_room_tests = function () { return __awaiter(void 0, void 0, void 0, fun
937
949
  return [4 /*yield*/, sdk2.authenticate(email2, password2)];
938
950
  case 1:
939
951
  _a.sent();
940
- return [4 /*yield*/, sdk.api.chat_rooms.createOne({ type: 'internal', userIds: [userId] })];
952
+ email = 'enduser@tellescope.com', password = 'enduserPassword!';
953
+ return [4 /*yield*/, sdk.api.endusers.createOne({ email: email })];
941
954
  case 2:
955
+ enduser = _a.sent();
956
+ return [4 /*yield*/, sdk.api.endusers.set_password({ id: enduser.id, password: password }).catch(console.error)];
957
+ case 3:
958
+ _a.sent();
959
+ return [4 /*yield*/, enduserSDK.authenticate(email, password).catch(console.error)];
960
+ case 4:
961
+ _a.sent();
962
+ return [4 /*yield*/, sdk.api.chat_rooms.createOne({ type: 'internal', userIds: [userId], enduserIds: [enduserSDK.userInfo.id] })];
963
+ case 5:
942
964
  room = _a.sent();
943
965
  return [4 /*yield*/, (0, testing_1.async_test)("get-chat-room (not a user)", function () { return sdk2.api.chat_rooms.getOne(room.id); }, { shouldError: true, onError: function (e) { return e.message === "Could not find a record for the given id"; } })];
944
- case 3:
966
+ case 6:
967
+ _a.sent();
968
+ return [4 /*yield*/, (0, testing_1.async_test)("user_display_info for room (not a user)", function () { return sdk2.api.chat_rooms.display_info({ id: room.id }); }, { shouldError: true, onError: function (e) { return e.message === "Could not find a record for the given id"; } })];
969
+ case 7:
970
+ _a.sent();
971
+ verifyRoomDisplayInfo = function (info) {
972
+ if (!info)
973
+ return false;
974
+ if (typeof info !== 'object')
975
+ return false;
976
+ if (Object.keys(info).length !== 2)
977
+ return false;
978
+ if (!info[sdk.userInfo.id])
979
+ return false;
980
+ if (!info[enduserSDK.userInfo.id])
981
+ return false;
982
+ var _a = [info[sdk.userInfo.id], info[enduserSDK.userInfo.id]], user = _a[0], enduser = _a[1];
983
+ if (!(user.id === sdk.userInfo.id &&
984
+ user.fname === sdk.userInfo.fname &&
985
+ user.lname === sdk.userInfo.lname &&
986
+ user.avatar === sdk.userInfo.avatar &&
987
+ !!user.createdAt &&
988
+ !!user.lastActive &&
989
+ !!user.lastLogout))
990
+ return false;
991
+ if (!(enduser.id === enduserSDK.userInfo.id &&
992
+ enduser.fname === enduserSDK.userInfo.fname &&
993
+ enduser.lname === enduserSDK.userInfo.lname &&
994
+ enduser.avatar === enduserSDK.userInfo.avatar &&
995
+ !!enduser.createdAt &&
996
+ !!enduser.lastActive &&
997
+ !!enduser.lastLogout))
998
+ return false;
999
+ return true;
1000
+ };
1001
+ return [4 /*yield*/, (0, testing_1.async_test)("user_display_info for room (for user)", function () { return sdk.api.chat_rooms.display_info({ id: room.id }); }, { onResult: function (r) { return r.id === room.id && verifyRoomDisplayInfo(r.display_info); } })];
1002
+ case 8:
1003
+ _a.sent();
1004
+ return [4 /*yield*/, (0, testing_1.async_test)("user_display_info for room (for enduser)", function () { return enduserSDK.api.chat_rooms.display_info({ id: room.id }); }, { onResult: function (r) { return r.id === room.id && verifyRoomDisplayInfo(r.display_info); } })];
1005
+ case 9:
945
1006
  _a.sent();
946
1007
  return [4 /*yield*/, sdk.api.chat_rooms.deleteOne(room.id)];
947
- case 4:
1008
+ case 10:
948
1009
  _a.sent();
949
1010
  return [4 /*yield*/, sdk.api.chat_rooms.createOne({})];
950
- case 5:
1011
+ case 11:
951
1012
  emptyRoom = _a.sent();
952
1013
  return [4 /*yield*/, (0, testing_1.async_test)("get-chat-room (creator can access, even when not in userIds)", function () { return sdk.api.chat_rooms.getOne(emptyRoom.id); }, { onResult: function (r) { return r.id === emptyRoom.id; } })];
953
- case 6:
1014
+ case 12:
954
1015
  _a.sent();
955
1016
  return [4 /*yield*/, (0, testing_1.async_test)("get-chat-room (not in empty room)", function () { return sdk2.api.chat_rooms.getOne(emptyRoom.id); }, { shouldError: true, onError: function (e) { return e.message === "Could not find a record for the given id"; } })];
956
- case 7:
1017
+ case 13:
957
1018
  _a.sent();
958
1019
  return [4 /*yield*/, (0, testing_1.async_test)("join-room", function () { return sdk2.api.chat_rooms.join_room({ id: emptyRoom.id }); }, { onResult: function (_a) {
959
1020
  var room = _a.room;
960
1021
  return room.id === emptyRoom.id;
961
1022
  } })];
962
- case 8:
1023
+ case 14:
963
1024
  _a.sent();
964
1025
  return [4 /*yield*/, (0, testing_1.async_test)("get-chat-room (join successful)", function () { return sdk2.api.chat_rooms.getOne(emptyRoom.id); }, { onResult: function (r) { return r.id === emptyRoom.id; } })];
965
- case 9:
1026
+ case 15:
966
1027
  _a.sent();
967
1028
  return [4 /*yield*/, sdk.api.chat_rooms.deleteOne(emptyRoom.id)];
968
- case 10:
1029
+ case 16:
1030
+ _a.sent();
1031
+ return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser.id)];
1032
+ case 17:
969
1033
  _a.sent();
970
1034
  return [2 /*return*/];
971
1035
  }
@@ -1110,7 +1174,7 @@ var chat_tests = function () { return __awaiter(void 0, void 0, void 0, function
1110
1174
  });
1111
1175
  }); };
1112
1176
  var enduserAccessTests = function () { return __awaiter(void 0, void 0, void 0, function () {
1113
- var email, password, enduser, enduser2, _loop_1, _a, _b, _i, n, ticketAccessible, ticketInaccessible;
1177
+ var email, password, enduser, enduser2, uInfo, originalAuthToken, _loop_1, _a, _b, _i, n, ticketAccessible, ticketInaccessible;
1114
1178
  var _c, _d, _e, _f, _g, _h;
1115
1179
  return __generator(this, function (_j) {
1116
1180
  switch (_j.label) {
@@ -1129,8 +1193,18 @@ var enduserAccessTests = function () { return __awaiter(void 0, void 0, void 0,
1129
1193
  return [4 /*yield*/, enduserSDK.authenticate(email, password).catch(console.error)];
1130
1194
  case 4:
1131
1195
  _j.sent();
1132
- return [4 /*yield*/, (0, testing_1.async_test)("no-enduser-access for different businessId", function () { return enduserSDKDifferentBusinessId.authenticate(email, password); }, { shouldError: true, onError: function (e) { return (e === null || e === void 0 ? void 0 : e.message) === "Could not find a corresponding account"; } })];
1196
+ return [4 /*yield*/, (0, testing_1.wait)(undefined, 1000)]; // wait so that refresh_session generates a new authToken (different timestamp)
1133
1197
  case 5:
1198
+ _j.sent(); // wait so that refresh_session generates a new authToken (different timestamp)
1199
+ uInfo = enduserSDK.userInfo;
1200
+ originalAuthToken = enduserSDK.authToken;
1201
+ return [4 /*yield*/, enduserSDK.refresh_session()];
1202
+ case 6:
1203
+ _j.sent();
1204
+ (0, testing_1.assert)(uInfo.id === enduserSDK.userInfo.id, 'userInfo mismatch', 'userInfo id preserved after refresh');
1205
+ (0, testing_1.assert)(!!originalAuthToken && !!enduserSDK.authToken && enduserSDK.authToken !== originalAuthToken, 'same authToken after refresh', 'authToken refresh');
1206
+ return [4 /*yield*/, (0, testing_1.async_test)("no-enduser-access for different businessId", function () { return enduserSDKDifferentBusinessId.authenticate(email, password); }, { shouldError: true, onError: function (e) { return (e === null || e === void 0 ? void 0 : e.message) === "Could not find a corresponding account"; } })];
1207
+ case 7:
1134
1208
  _j.sent();
1135
1209
  _loop_1 = function (n) {
1136
1210
  var endpoint, model;
@@ -1184,82 +1258,97 @@ var enduserAccessTests = function () { return __awaiter(void 0, void 0, void 0,
1184
1258
  for (_b in schema_1.schema)
1185
1259
  _a.push(_b);
1186
1260
  _i = 0;
1187
- _j.label = 6;
1188
- case 6:
1189
- if (!(_i < _a.length)) return [3 /*break*/, 9];
1261
+ _j.label = 8;
1262
+ case 8:
1263
+ if (!(_i < _a.length)) return [3 /*break*/, 11];
1190
1264
  n = _a[_i];
1191
1265
  return [5 /*yield**/, _loop_1(n)];
1192
- case 7:
1266
+ case 9:
1193
1267
  _j.sent();
1194
- _j.label = 8;
1195
- case 8:
1196
- _i++;
1197
- return [3 /*break*/, 6];
1198
- case 9: return [4 /*yield*/, (0, testing_1.async_test)("enduser can update self", function () { return enduserSDK.api.endusers.updateOne(enduser.id, { fname: "Sebastian", lname: "Coates" }); }, { onResult: function (e) { return e.id === enduser.id && e.fname === 'Sebastian' && e.lname === "Coates"; } })];
1268
+ _j.label = 10;
1199
1269
  case 10:
1270
+ _i++;
1271
+ return [3 /*break*/, 8];
1272
+ case 11: return [4 /*yield*/, (0, testing_1.async_test)("enduser can update self", function () { return enduserSDK.api.endusers.updateOne(enduser.id, { fname: "Sebastian", lname: "Coates" }); }, { onResult: function (e) { return e.id === enduser.id && e.fname === 'Sebastian' && e.lname === "Coates"; } })];
1273
+ case 12:
1200
1274
  _j.sent();
1201
1275
  return [4 /*yield*/, (0, testing_1.async_test)("enduser can't update other enduser", function () { return enduserSDK.api.endusers.updateOne(enduser2.id, { fname: "Shouldn't Work" }); }, { shouldError: true, onError: function (e) { return e.message === "Could not find a record for the given id"; } })];
1202
- case 11:
1276
+ case 13:
1203
1277
  _j.sent();
1204
1278
  return [4 /*yield*/, sdk.api.tickets.createOne({ enduserId: enduser.id, title: "Accessible ticket" })];
1205
- case 12:
1279
+ case 14:
1206
1280
  ticketAccessible = _j.sent();
1207
1281
  return [4 /*yield*/, sdk.api.tickets.createOne({ enduserId: constants_1.PLACEHOLDER_ID, title: "Inaccessible ticket" })];
1208
- case 13:
1282
+ case 15:
1209
1283
  ticketInaccessible = _j.sent();
1210
1284
  return [4 /*yield*/, (0, testing_1.async_test)("enduser cannot create ticket for another enduser", function () { return enduserSDK.api.tickets.createOne({ enduserId: sdk.userInfo.id, title: "Error on Creation" }); }, { shouldError: true, onError: function (e) { return e.message === "enduserId does not match creator id for enduser session"; } })];
1211
- case 14:
1285
+ case 16:
1212
1286
  _j.sent();
1213
1287
  return [4 /*yield*/, (0, testing_1.async_test)("enduser-access default, no access constraints, matching enduserId", function () { return enduserSDK.api.tickets.getOne(ticketAccessible.id); }, { onResult: function (t) { return t.id === ticketAccessible.id; } })];
1214
- case 15:
1288
+ case 17:
1215
1289
  _j.sent();
1216
1290
  return [4 /*yield*/, (0, testing_1.async_test)("no-enduser-access default, no access constraints, non-matching enduserId", function () { return enduserSDK.api.tickets.getOne(ticketInaccessible.id); }, { shouldError: true, onError: function (e) { return e.message.startsWith("Could not find"); } })];
1217
- case 16:
1291
+ case 18:
1218
1292
  _j.sent();
1219
1293
  return [4 /*yield*/, (0, testing_1.async_test)("no-enduser-access default, no access constraints, get many", function () { return enduserSDK.api.tickets.getSome(); }, { onResult: function (ts) { return ts.length === 1; } })];
1220
- case 17:
1294
+ case 19:
1221
1295
  _j.sent();
1222
1296
  return [4 /*yield*/, sdk.api.tickets.deleteOne(ticketAccessible.id)];
1223
- case 18:
1297
+ case 20:
1224
1298
  _j.sent();
1225
1299
  return [4 /*yield*/, sdk.api.tickets.deleteOne(ticketInaccessible.id)];
1226
- case 19:
1300
+ case 21:
1227
1301
  _j.sent();
1228
1302
  return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser.id)];
1229
- case 20:
1303
+ case 22:
1230
1304
  _j.sent();
1231
1305
  return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser2.id)];
1232
- case 21:
1306
+ case 23:
1233
1307
  _j.sent();
1234
1308
  return [2 /*return*/];
1235
1309
  }
1236
1310
  });
1237
1311
  }); };
1238
1312
  var files_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
1239
- var buff, _a, presignedUpload, file, downloadURL, downloaded, cachedURL;
1313
+ var enduser, buff, _a, presignedUpload, file, downloadURL, downloaded, cachedURL, urlForEnduser;
1240
1314
  return __generator(this, function (_b) {
1241
1315
  switch (_b.label) {
1242
- case 0:
1316
+ case 0: return [4 /*yield*/, sdk.api.endusers.createOne({ email: email })];
1317
+ case 1:
1318
+ enduser = _b.sent();
1319
+ return [4 /*yield*/, sdk.api.endusers.set_password({ id: enduser.id, password: password }).catch(console.error)];
1320
+ case 2:
1321
+ _b.sent();
1322
+ return [4 /*yield*/, enduserSDK.authenticate(email, password).catch(console.error)];
1323
+ case 3:
1324
+ _b.sent();
1243
1325
  buff = buffer.Buffer.from('test file data');
1244
1326
  return [4 /*yield*/, sdk.api.files.prepare_file_upload({
1245
1327
  name: 'Test File', size: buff.byteLength, type: 'text/plain'
1246
1328
  })];
1247
- case 1:
1329
+ case 4:
1248
1330
  _a = _b.sent(), presignedUpload = _a.presignedUpload, file = _a.file;
1249
1331
  return [4 /*yield*/, sdk.UPLOAD(presignedUpload, buff)];
1250
- case 2:
1332
+ case 5:
1251
1333
  _b.sent();
1252
1334
  return [4 /*yield*/, sdk.api.files.file_download_URL({ secureName: file.secureName })];
1253
- case 3:
1335
+ case 6:
1254
1336
  downloadURL = (_b.sent()).downloadURL;
1255
1337
  return [4 /*yield*/, sdk.DOWNLOAD(downloadURL)];
1256
- case 4:
1338
+ case 7:
1257
1339
  downloaded = _b.sent();
1258
1340
  (0, testing_1.assert)(downloaded === buff.toString(), 'downloaded file does not match uploaded file', 'upload, download comparison');
1259
1341
  return [4 /*yield*/, sdk.api.files.file_download_URL({ secureName: file.secureName })];
1260
- case 5:
1342
+ case 8:
1261
1343
  cachedURL = (_b.sent()).downloadURL;
1262
1344
  (0, testing_1.assert)(downloadURL === cachedURL, 'cache download url failed', 'download url cache');
1345
+ return [4 /*yield*/, enduserSDK.api.files.file_download_URL({ secureName: file.secureName })];
1346
+ case 9:
1347
+ urlForEnduser = (_b.sent()).downloadURL;
1348
+ (0, testing_1.assert)(downloadURL === urlForEnduser, 'failed to get download url for enduser', 'download url for enduser');
1349
+ return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser.id)];
1350
+ case 10:
1351
+ _b.sent();
1263
1352
  return [2 /*return*/];
1264
1353
  }
1265
1354
  });
@@ -1292,24 +1381,31 @@ var enduser_session_tests = function () { return __awaiter(void 0, void 0, void
1292
1381
  });
1293
1382
  }); };
1294
1383
  var users_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
1384
+ var randomFieldValue, randomFieldNumber;
1295
1385
  return __generator(this, function (_a) {
1296
1386
  switch (_a.label) {
1297
1387
  case 0:
1298
1388
  (0, testing_1.log_header)("Users Tests");
1389
+ randomFieldValue = crypto_1.default.randomBytes(32).toString('hex').toUpperCase() // uppercase so name parsing doesn't cause case change
1390
+ ;
1391
+ randomFieldNumber = Math.random();
1299
1392
  /* Update user tests */
1300
- return [4 /*yield*/, (0, testing_1.async_test)("update user (non-admin, other user)", function () { return sdkNonAdmin.api.users.updateOne(sdk.userInfo.id, { fname: 'Failure' }); }, { shouldError: true, onError: function (e) { return e.message === "Only admin users can update others' profiles"; } })];
1393
+ return [4 /*yield*/, (0, testing_1.async_test)("update user (non-admin, other user)", function () { return sdkNonAdmin.api.users.updateOne(sdk.userInfo.id, { fname: randomFieldValue }); }, { shouldError: true, onError: function (e) { return e.message === "Only admin users can update others' profiles"; } })];
1301
1394
  case 1:
1302
1395
  /* Update user tests */
1303
1396
  _a.sent();
1304
- return [4 /*yield*/, (0, testing_1.async_test)("update user (non-admin, self)", function () { return sdkNonAdmin.api.users.updateOne(sdkNonAdmin.userInfo.id, { fname: 'Updated' }); }, { onResult: function (u) { return u.id === sdkNonAdmin.userInfo.id && u.fname === "Updated"; } })];
1397
+ return [4 /*yield*/, (0, testing_1.async_test)("verify no update", function () { return sdk.api.users.getOne(sdk.userInfo.id); }, { onResult: function (u) { return u.fname !== randomFieldValue; } })];
1305
1398
  case 2:
1399
+ _a.sent();
1400
+ return [4 /*yield*/, (0, testing_1.async_test)("update user (non-admin, self)", function () { return sdkNonAdmin.api.users.updateOne(sdkNonAdmin.userInfo.id, { fname: 'Updated' }); }, { onResult: function (u) { return u.id === sdkNonAdmin.userInfo.id && u.fname === "Updated"; } })];
1401
+ case 3:
1306
1402
  _a.sent();
1307
1403
  return [4 /*yield*/, (0, testing_1.async_test)("verify user update with admin get", function () { return sdk.api.users.getOne(sdkNonAdmin.userInfo.id); }, { onResult: function (u) { return u.id === sdkNonAdmin.userInfo.id && u.fname === "Updated"; } })
1308
1404
  // reset fname to "Non" if this test throws, otherwise will falsely pass on next run
1309
1405
  // NOT Supported behavior any more
1310
1406
  // assert(sdkNonAdmin.userInfo.fname === 'Updated', 'refresh_session not called on self after update', 'sdk updated on user update')
1311
1407
  ];
1312
- case 3:
1408
+ case 4:
1313
1409
  _a.sent();
1314
1410
  // reset fname to "Non" if this test throws, otherwise will falsely pass on next run
1315
1411
  // NOT Supported behavior any more
@@ -1318,14 +1414,25 @@ var users_tests = function () { return __awaiter(void 0, void 0, void 0, functio
1318
1414
  { onResult: function (u) { return u.id === sdkNonAdmin.userInfo.id && u.fname === "Non"; } })
1319
1415
  // sdkNonAdmin.userInfo.fname = 'Non' // update back in sdk instance as well
1320
1416
  ];
1321
- case 4:
1417
+ case 5:
1322
1418
  // reset fname to "Non" if this test throws, otherwise will falsely pass on next run
1323
1419
  // NOT Supported behavior any more
1324
1420
  // assert(sdkNonAdmin.userInfo.fname === 'Updated', 'refresh_session not called on self after update', 'sdk updated on user update')
1325
1421
  _a.sent();
1326
1422
  // sdkNonAdmin.userInfo.fname = 'Non' // update back in sdk instance as well
1327
1423
  return [4 /*yield*/, (0, testing_1.async_test)("verify user update with admin get", function () { return sdk.api.users.getOne(sdkNonAdmin.userInfo.id); }, { onResult: function (u) { return u.id === sdkNonAdmin.userInfo.id && u.fname === "Non"; } })];
1328
- case 5:
1424
+ case 6:
1425
+ // sdkNonAdmin.userInfo.fname = 'Non' // update back in sdk instance as well
1426
+ _a.sent();
1427
+ return [4 /*yield*/, (0, testing_1.async_test)("update user (custom fields)", function () { return sdk.api.users.updateOne(sdk.userInfo.id, { fields: { f1: randomFieldValue, f2: randomFieldNumber, f3: { object: randomFieldValue } } }); }, // change back
1428
+ { onResult: function (u) { var _a, _b, _c; return u.id === sdk.userInfo.id && ((_a = u.fields) === null || _a === void 0 ? void 0 : _a.f1) === randomFieldValue && ((_b = u.fields) === null || _b === void 0 ? void 0 : _b.f2) === randomFieldNumber && ((_c = u.fields) === null || _c === void 0 ? void 0 : _c.f3).object == randomFieldValue; } })
1429
+ // sdkNonAdmin.userInfo.fname = 'Non' // update back in sdk instance as well
1430
+ ];
1431
+ case 7:
1432
+ _a.sent();
1433
+ // sdkNonAdmin.userInfo.fname = 'Non' // update back in sdk instance as well
1434
+ return [4 /*yield*/, (0, testing_1.async_test)("verify user update (custom fields)", function () { return sdk.api.users.getOne(sdk.userInfo.id); }, { onResult: function (u) { var _a, _b, _c; return u.id === sdk.userInfo.id && ((_a = u.fields) === null || _a === void 0 ? void 0 : _a.f1) === randomFieldValue && ((_b = u.fields) === null || _b === void 0 ? void 0 : _b.f2) === randomFieldNumber && ((_c = u.fields) === null || _c === void 0 ? void 0 : _c.f3).object == randomFieldValue; } })];
1435
+ case 8:
1329
1436
  // sdkNonAdmin.userInfo.fname = 'Non' // update back in sdk instance as well
1330
1437
  _a.sent();
1331
1438
  return [2 /*return*/];