@tellescope/sdk 1.185.2 → 1.187.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.
@@ -1 +1 @@
1
- {"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../../src/tests/tests.ts"],"names":[],"mappings":"AA8vEA,eAAO,MAAM,kCAAkC,qBAgJ9C,CAAA;AAED,eAAO,MAAM,mCAAmC,qBA2K/C,CAAA;AAGD,eAAO,MAAM,oBAAoB,qBAoHhC,CAAA;AAED,eAAO,MAAM,+BAA+B,qBAsF3C,CAAA;AAID,eAAO,MAAM,0BAA0B,qBAqCtC,CAAA;AAsfD,eAAO,MAAM,cAAc,qBAqC1B,CAAA;AAqmBD,eAAO,MAAM,6BAA6B,qBAgCzC,CAAA;AAED,eAAO,MAAM,0BAA0B,qBAmFtC,CAAA;AAqED,eAAO,MAAM,eAAe,qBAgD3B,CAAA;AAED,eAAO,MAAM,oBAAoB,6BAsBhC,CAAA;AAED,eAAO,MAAM,oCAAoC,qBA2ahD,CAAA;AAED,eAAO,MAAM,mCAAmC,qBAkE/C,CAAA;AAgyCD,eAAO,MAAM,yBAAyB,qBA0DrC,CAAA;AAED,eAAO,MAAM,kBAAkB,qBAmK9B,CAAA;AAED,eAAO,MAAM,sBAAsB,qBA0BlC,CAAA;AAED,eAAO,MAAM,gCAAgC,mCA2C5C,CAAA;AAED,eAAO,MAAM,cAAc,qBA2N1B,CAAA;AAGD,eAAO,MAAM,oBAAoB,uBAuBhC,CAAA;AA4nBD,eAAO,MAAM,4BAA4B,qBAoExC,CAAA;AAED,eAAO,MAAM,qBAAqB,qBAwIjC,CAAA"}
1
+ {"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../../src/tests/tests.ts"],"names":[],"mappings":"AAsxEA,eAAO,MAAM,kCAAkC,qBAgJ9C,CAAA;AAED,eAAO,MAAM,mCAAmC,qBA2K/C,CAAA;AAGD,eAAO,MAAM,oBAAoB,qBAoHhC,CAAA;AAED,eAAO,MAAM,+BAA+B,qBAsF3C,CAAA;AAID,eAAO,MAAM,0BAA0B,qBAqCtC,CAAA;AAsrBD,eAAO,MAAM,cAAc,qBAqC1B,CAAA;AAqmBD,eAAO,MAAM,6BAA6B,qBAgCzC,CAAA;AAED,eAAO,MAAM,0BAA0B,qBAmFtC,CAAA;AAqED,eAAO,MAAM,eAAe,qBAgD3B,CAAA;AAED,eAAO,MAAM,oBAAoB,6BAsBhC,CAAA;AAED,eAAO,MAAM,oCAAoC,qBA2ahD,CAAA;AAED,eAAO,MAAM,mCAAmC,qBAkE/C,CAAA;AAgyCD,eAAO,MAAM,yBAAyB,qBA0DrC,CAAA;AAED,eAAO,MAAM,kBAAkB,qBAmK9B,CAAA;AAED,eAAO,MAAM,sBAAsB,qBA0BlC,CAAA;AAED,eAAO,MAAM,gCAAgC,mCA2C5C,CAAA;AAED,eAAO,MAAM,cAAc,qBA2N1B,CAAA;AAGD,eAAO,MAAM,oBAAoB,uBAuBhC,CAAA;AA4nBD,eAAO,MAAM,4BAA4B,qBAoExC,CAAA;AAED,eAAO,MAAM,qBAAqB,qBAwIjC,CAAA"}
@@ -245,47 +245,50 @@ var setup_tests = function () { return __awaiter(void 0, void 0, void 0, functio
245
245
  case 28:
246
246
  // ensure that going to "Non-Admin" triggers a role change
247
247
  _a.sent();
248
- return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword)];
248
+ return [4 /*yield*/, wait(undefined, 1000)]; // wait for role change to propagate so authenticate does fail next
249
249
  case 29:
250
+ _a.sent(); // wait for role change to propagate so authenticate does fail next
251
+ return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword)];
252
+ case 30:
250
253
  _a.sent();
251
254
  return [4 /*yield*/, async_test('non admin authenticated', sdkNonAdmin.test_authenticated, { expectedResult: 'Authenticated!' })
252
255
  // reset nonAdmin role to a default non-admin
253
256
  ];
254
- case 30:
257
+ case 31:
255
258
  _a.sent();
256
259
  // reset nonAdmin role to a default non-admin
257
260
  return [4 /*yield*/, sdk.api.users.updateOne(sdkNonAdmin.userInfo.id, { roles: ['Non-Admin'] }, { replaceObjectFields: true })];
258
- case 31:
261
+ case 32:
259
262
  // reset nonAdmin role to a default non-admin
260
263
  _a.sent();
261
264
  // should be unauthenticated due to role change
262
265
  return [4 /*yield*/, wait(undefined, 100)];
263
- case 32:
266
+ case 33:
264
267
  // reset nonAdmin role to a default non-admin
265
268
  // should be unauthenticated due to role change
266
269
  _a.sent();
267
270
  return [4 /*yield*/, async_test('role change causes deauthentication', sdkNonAdmin.test_authenticated, handleAnyError)
268
271
  // reauthenticate
269
272
  ];
270
- case 33:
273
+ case 34:
271
274
  _a.sent();
272
275
  // reauthenticate
273
276
  return [4 /*yield*/, wait(undefined, 1000)];
274
- case 34:
277
+ case 35:
275
278
  // reauthenticate
276
279
  _a.sent();
277
280
  return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword)
278
281
  // may do some stuff in background after returning
279
282
  ];
280
- case 35:
283
+ case 36:
281
284
  _a.sent();
282
285
  // may do some stuff in background after returning
283
286
  return [4 /*yield*/, async_test('reset_db', function () { return sdk.reset_db(); }, passOnVoid)];
284
- case 36:
287
+ case 37:
285
288
  // may do some stuff in background after returning
286
289
  _a.sent();
287
290
  return [4 /*yield*/, wait(undefined, 250)];
288
- case 37:
291
+ case 38:
289
292
  _a.sent();
290
293
  return [2 /*return*/];
291
294
  }
@@ -1610,48 +1613,63 @@ var chat_room_tests = function () { return __awaiter(void 0, void 0, void 0, fun
1610
1613
  return [4 /*yield*/, 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); } })];
1611
1614
  case 12:
1612
1615
  _k.sent();
1613
- return [4 /*yield*/, sdk.api.chat_rooms.deleteOne(room.id)];
1616
+ return [4 /*yield*/, async_test("non admin can't get room without enduser", function () { return sdkNonAdmin.api.chat_rooms.getOne({ id: room.id }); }, handleAnyError)];
1614
1617
  case 13:
1615
1618
  _k.sent();
1616
- return [4 /*yield*/, sdk.api.chat_rooms.createOne({})];
1619
+ return [4 /*yield*/, async_test("non admin can't get chats from room without enduser", function () { return sdkNonAdmin.api.chats.getSome({ filter: { roomId: room.id } }); }, handleAnyError)];
1617
1620
  case 14:
1621
+ _k.sent();
1622
+ return [4 /*yield*/, sdk.api.endusers.updateOne(enduser.id, { assignedTo: [sdkNonAdmin.userInfo.id] })];
1623
+ case 15:
1624
+ _k.sent();
1625
+ return [4 /*yield*/, async_test("non admin can get room with enduser", function () { return sdkNonAdmin.api.chat_rooms.getOne(room.id); }, passOnAnyResult)];
1626
+ case 16:
1627
+ _k.sent();
1628
+ return [4 /*yield*/, async_test("non admin can get chats from room with enduser", function () { return sdkNonAdmin.api.chats.getSome({ filter: { roomId: room.id } }); }, passOnAnyResult)];
1629
+ case 17:
1630
+ _k.sent();
1631
+ return [4 /*yield*/, sdk.api.chat_rooms.deleteOne(room.id)];
1632
+ case 18:
1633
+ _k.sent();
1634
+ return [4 /*yield*/, sdk.api.chat_rooms.createOne({})];
1635
+ case 19:
1618
1636
  emptyRoom = _k.sent();
1619
1637
  return [4 /*yield*/, 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; } })];
1620
- case 15:
1638
+ case 20:
1621
1639
  _k.sent();
1622
1640
  return [4 /*yield*/, 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"; } })];
1623
- case 16:
1641
+ case 21:
1624
1642
  _k.sent();
1625
1643
  return [4 /*yield*/, async_test("join-room", function () { return sdk2.api.chat_rooms.join_room({ id: emptyRoom.id }); }, { onResult: function (_a) {
1626
1644
  var room = _a.room;
1627
1645
  return room.id === emptyRoom.id;
1628
1646
  } })];
1629
- case 17:
1647
+ case 22:
1630
1648
  _k.sent();
1631
1649
  return [4 /*yield*/, async_test("get-chat-room (join successful)", function () { return sdk2.api.chat_rooms.getOne(emptyRoom.id); }, { onResult: function (r) { return r.id === emptyRoom.id; } })];
1632
- case 18:
1650
+ case 23:
1633
1651
  _k.sent();
1634
1652
  return [4 /*yield*/, async_test("create-chat (join successful)", function () { return sdk2.api.chats.createOne({ roomId: emptyRoom.id, message: 'test' }); }, passOnAnyResult)];
1635
- case 19:
1653
+ case 24:
1636
1654
  _k.sent();
1637
1655
  return [4 /*yield*/, async_test("get-chat (join successful)", function () { return sdk2.api.chats.getSome({ filter: { roomId: emptyRoom.id } }); }, { onResult: function (r) { return r.length > 0; } })];
1638
- case 20:
1656
+ case 25:
1639
1657
  _k.sent();
1640
1658
  return [4 /*yield*/, async_test("[bulk] get-chat-room (join successful)", function () { return sdk2.bulk_load({ load: [{ model: 'chat_rooms' }] }); }, { onResult: function (r) { var _a, _b, _c; return (_c = (_b = (_a = r.results) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.records) === null || _c === void 0 ? void 0 : _c.find(function (r) { return r.id === emptyRoom.id; }); } })];
1641
- case 21:
1659
+ case 26:
1642
1660
  _k.sent();
1643
1661
  return [4 /*yield*/, enduserSDK.logout()];
1644
- case 22:
1662
+ case 27:
1645
1663
  _k.sent();
1646
1664
  return [4 /*yield*/, sdk.api.endusers.getOne(enduser.id)];
1647
- case 23:
1665
+ case 28:
1648
1666
  loggedOutEnduser = _k.sent();
1649
1667
  assert(new Date(loggedOutEnduser.lastLogout).getTime() > Date.now() - 100, 'lastLogout fail for enduser', 'lastLogout for enduser');
1650
1668
  return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser.id)];
1651
- case 24:
1669
+ case 29:
1652
1670
  _k.sent();
1653
1671
  return [4 /*yield*/, sdk.api.chat_rooms.deleteOne(emptyRoom.id)];
1654
- case 25:
1672
+ case 30:
1655
1673
  _k.sent();
1656
1674
  return [2 /*return*/];
1657
1675
  }
@@ -4013,13 +4031,239 @@ var formSubmittedTriggerTests = function () { return __awaiter(void 0, void 0, v
4013
4031
  }
4014
4032
  });
4015
4033
  }); };
4034
+ var order_created_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
4035
+ var t1, t2, t3, t4, e;
4036
+ return __generator(this, function (_a) {
4037
+ switch (_a.label) {
4038
+ case 0:
4039
+ log_header("Automation Trigger Tests (Order Created)");
4040
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
4041
+ event: { type: 'Order Created', info: {} },
4042
+ action: { type: 'Add Tags', info: { tags: ['No conditions'] } },
4043
+ status: 'Active',
4044
+ title: "No conditions"
4045
+ })];
4046
+ case 1:
4047
+ t1 = _a.sent();
4048
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
4049
+ event: { type: 'Order Created', info: { titles: ['Title'] } },
4050
+ action: { type: 'Add Tags', info: { tags: ['Title'] } },
4051
+ status: 'Active',
4052
+ title: "Title Condition"
4053
+ })];
4054
+ case 2:
4055
+ t2 = _a.sent();
4056
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
4057
+ event: { type: 'Order Created', info: { fills: ['Fill'] } },
4058
+ action: { type: 'Add Tags', info: { tags: ['Fill'] } },
4059
+ status: 'Active',
4060
+ title: "Fill Condition"
4061
+ })];
4062
+ case 3:
4063
+ t3 = _a.sent();
4064
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
4065
+ event: { type: 'Order Created', info: { partialFrequency: 'freq' } },
4066
+ action: { type: 'Add Tags', info: { tags: ['Frequency'] } },
4067
+ status: 'Active',
4068
+ title: "Frequency Condition"
4069
+ })];
4070
+ case 4:
4071
+ t4 = _a.sent();
4072
+ return [4 /*yield*/, sdk.api.endusers.createOne({})];
4073
+ case 5:
4074
+ e = _a.sent();
4075
+ return [4 /*yield*/, sdk.api.enduser_orders.createOne({ status: 'test', source: 'test', title: 'nomatch', fill: 'nomatch', frequency: 'nomatch', externalId: '1', enduserId: e.id })];
4076
+ case 6:
4077
+ _a.sent();
4078
+ return [4 /*yield*/, wait(undefined, 500)]; // allow triggers to happen
4079
+ case 7:
4080
+ _a.sent(); // allow triggers to happen
4081
+ return [4 /*yield*/, async_test("First tag is added", function () { return sdk.api.endusers.getOne(e.id); }, { onResult: function (e) {
4082
+ var _a, _b, _c, _d, _f;
4083
+ return !!(((_a = e.tags) === null || _a === void 0 ? void 0 : _a.length) === 1
4084
+ && ((_b = e.tags) === null || _b === void 0 ? void 0 : _b.includes('No conditions'))
4085
+ && !((_c = e.tags) === null || _c === void 0 ? void 0 : _c.includes('Title'))
4086
+ && !((_d = e.tags) === null || _d === void 0 ? void 0 : _d.includes('Fill'))
4087
+ && !((_f = e.tags) === null || _f === void 0 ? void 0 : _f.includes('Frequency')));
4088
+ } })];
4089
+ case 8:
4090
+ _a.sent();
4091
+ return [4 /*yield*/, sdk.api.enduser_orders.createOne({ status: 'test', source: 'test', externalId: '2', enduserId: e.id, title: "Title" })];
4092
+ case 9:
4093
+ _a.sent();
4094
+ return [4 /*yield*/, wait(undefined, 500)]; // allow triggers to happen
4095
+ case 10:
4096
+ _a.sent(); // allow triggers to happen
4097
+ return [4 /*yield*/, async_test("Second tag is added", function () { return sdk.api.endusers.getOne(e.id); }, { onResult: function (e) {
4098
+ var _a, _b, _c, _d, _f;
4099
+ return !!(((_a = e.tags) === null || _a === void 0 ? void 0 : _a.length) === 2
4100
+ && ((_b = e.tags) === null || _b === void 0 ? void 0 : _b.includes('No conditions'))
4101
+ && ((_c = e.tags) === null || _c === void 0 ? void 0 : _c.includes('Title'))
4102
+ && !((_d = e.tags) === null || _d === void 0 ? void 0 : _d.includes('Fill'))
4103
+ && !((_f = e.tags) === null || _f === void 0 ? void 0 : _f.includes('Frequency')));
4104
+ } })];
4105
+ case 11:
4106
+ _a.sent();
4107
+ return [4 /*yield*/, sdk.api.enduser_orders.createOne({ status: 'test', source: 'test', externalId: '3', enduserId: e.id, title: "Title", fill: "Fill" })];
4108
+ case 12:
4109
+ _a.sent();
4110
+ return [4 /*yield*/, wait(undefined, 500)]; // allow triggers to happen
4111
+ case 13:
4112
+ _a.sent(); // allow triggers to happen
4113
+ return [4 /*yield*/, async_test("Third tag is added", function () { return sdk.api.endusers.getOne(e.id); }, { onResult: function (e) {
4114
+ var _a, _b, _c, _d, _f;
4115
+ return !!(((_a = e.tags) === null || _a === void 0 ? void 0 : _a.length) === 3
4116
+ && ((_b = e.tags) === null || _b === void 0 ? void 0 : _b.includes('No conditions'))
4117
+ && ((_c = e.tags) === null || _c === void 0 ? void 0 : _c.includes('Title'))
4118
+ && ((_d = e.tags) === null || _d === void 0 ? void 0 : _d.includes('Fill'))
4119
+ && !((_f = e.tags) === null || _f === void 0 ? void 0 : _f.includes('Frequency')));
4120
+ } })];
4121
+ case 14:
4122
+ _a.sent();
4123
+ return [4 /*yield*/, sdk.api.enduser_orders.createOne({ status: 'test', source: 'test', externalId: '4', enduserId: e.id, title: "Title", fill: "Fill", frequency: '1029freq--29' })];
4124
+ case 15:
4125
+ _a.sent();
4126
+ return [4 /*yield*/, wait(undefined, 500)]; // allow triggers to happen
4127
+ case 16:
4128
+ _a.sent(); // allow triggers to happen
4129
+ return [4 /*yield*/, async_test("Fourth tag is added", function () { return sdk.api.endusers.getOne(e.id); }, { onResult: function (e) {
4130
+ var _a, _b, _c, _d, _f;
4131
+ return !!(((_a = e.tags) === null || _a === void 0 ? void 0 : _a.length) === 4
4132
+ && ((_b = e.tags) === null || _b === void 0 ? void 0 : _b.includes('No conditions'))
4133
+ && ((_c = e.tags) === null || _c === void 0 ? void 0 : _c.includes('Title'))
4134
+ && ((_d = e.tags) === null || _d === void 0 ? void 0 : _d.includes('Fill'))
4135
+ && ((_f = e.tags) === null || _f === void 0 ? void 0 : _f.includes('Frequency')));
4136
+ } })];
4137
+ case 17:
4138
+ _a.sent();
4139
+ return [4 /*yield*/, Promise.all([
4140
+ sdk.api.automation_triggers.deleteOne(t1.id),
4141
+ sdk.api.automation_triggers.deleteOne(t2.id),
4142
+ sdk.api.automation_triggers.deleteOne(t3.id),
4143
+ sdk.api.automation_triggers.deleteOne(t4.id),
4144
+ sdk.api.endusers.deleteOne(e.id),
4145
+ ])];
4146
+ case 18:
4147
+ _a.sent();
4148
+ return [2 /*return*/];
4149
+ }
4150
+ });
4151
+ }); };
4152
+ var tag_added_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
4153
+ var t1, t2, t3, e;
4154
+ return __generator(this, function (_a) {
4155
+ switch (_a.label) {
4156
+ case 0:
4157
+ log_header("Automation Trigger Tests (Tag Added)");
4158
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
4159
+ event: { type: 'Tag Added', info: { tag: "1" } },
4160
+ action: { type: 'Add Tags', info: { tags: ['1 Added'] } },
4161
+ status: 'Active',
4162
+ title: "No conditions"
4163
+ })];
4164
+ case 1:
4165
+ t1 = _a.sent();
4166
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
4167
+ event: { type: 'Tag Added', info: { tag: "2" } },
4168
+ action: { type: 'Add Tags', info: { tags: ['2 Added'] } },
4169
+ status: 'Active',
4170
+ title: "Title Condition"
4171
+ })];
4172
+ case 2:
4173
+ t2 = _a.sent();
4174
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
4175
+ event: { type: 'Tag Added', info: { tag: "3" } },
4176
+ action: { type: 'Add Tags', info: { tags: ['3 Added'] } },
4177
+ status: 'Active',
4178
+ title: "Fill Condition"
4179
+ })];
4180
+ case 3:
4181
+ t3 = _a.sent();
4182
+ return [4 /*yield*/, sdk.api.endusers.createOne({})];
4183
+ case 4:
4184
+ e = _a.sent();
4185
+ return [4 /*yield*/, sdk.api.endusers.updateOne(e.id, { fname: 'no tags added' })];
4186
+ case 5:
4187
+ _a.sent();
4188
+ return [4 /*yield*/, wait(undefined, 500)]; // allow triggers to happen
4189
+ case 6:
4190
+ _a.sent(); // allow triggers to happen
4191
+ return [4 /*yield*/, async_test("No tags added", function () { return sdk.api.endusers.getOne(e.id); }, { onResult: function (e) { var _a; return !((_a = e.tags) === null || _a === void 0 ? void 0 : _a.length); } })];
4192
+ case 7:
4193
+ _a.sent();
4194
+ return [4 /*yield*/, sdk.api.endusers.updateOne(e.id, { tags: ['1'] })];
4195
+ case 8:
4196
+ _a.sent();
4197
+ return [4 /*yield*/, wait(undefined, 500)]; // allow triggers to happen
4198
+ case 9:
4199
+ _a.sent(); // allow triggers to happen
4200
+ return [4 /*yield*/, async_test("Tag 1 added", function () { return sdk.api.endusers.getOne(e.id); }, { onResult: function (e) {
4201
+ var _a;
4202
+ return !!(((_a = e.tags) === null || _a === void 0 ? void 0 : _a.length) === 2
4203
+ && e.tags.includes('1')
4204
+ && e.tags.includes('1 Added'));
4205
+ } })];
4206
+ case 10:
4207
+ _a.sent();
4208
+ return [4 /*yield*/, sdk.api.endusers.updateOne(e.id, { tags: ['4'] })];
4209
+ case 11:
4210
+ _a.sent();
4211
+ return [4 /*yield*/, wait(undefined, 500)]; // allow triggers to happen
4212
+ case 12:
4213
+ _a.sent(); // allow triggers to happen
4214
+ return [4 /*yield*/, async_test('Unrecognized tag added', function () { return sdk.api.endusers.getOne(e.id); }, { onResult: function (e) {
4215
+ var _a;
4216
+ return !!(((_a = e.tags) === null || _a === void 0 ? void 0 : _a.length) === 3
4217
+ && e.tags.includes('1')
4218
+ && e.tags.includes('1 Added')
4219
+ && e.tags.includes('4'));
4220
+ } })];
4221
+ case 13:
4222
+ _a.sent();
4223
+ return [4 /*yield*/, sdk.api.endusers.updateOne(e.id, { tags: ['2', '3'] })];
4224
+ case 14:
4225
+ _a.sent();
4226
+ return [4 /*yield*/, wait(undefined, 500)]; // allow triggers to happen
4227
+ case 15:
4228
+ _a.sent(); // allow triggers to happen
4229
+ return [4 /*yield*/, async_test("Tag 2 and 3 added", function () { return sdk.api.endusers.getOne(e.id); }, { onResult: function (e) {
4230
+ var _a;
4231
+ return !!(((_a = e.tags) === null || _a === void 0 ? void 0 : _a.length) === 7
4232
+ && e.tags.includes('1')
4233
+ && e.tags.includes('1 Added')
4234
+ && e.tags.includes('4')
4235
+ && e.tags.includes('2')
4236
+ && e.tags.includes('3')
4237
+ && e.tags.includes('2 Added')
4238
+ && e.tags.includes('3 Added'));
4239
+ } })];
4240
+ case 16:
4241
+ _a.sent();
4242
+ return [4 /*yield*/, Promise.all([
4243
+ sdk.api.automation_triggers.deleteOne(t1.id),
4244
+ sdk.api.automation_triggers.deleteOne(t2.id),
4245
+ sdk.api.automation_triggers.deleteOne(t3.id),
4246
+ sdk.api.endusers.deleteOne(e.id),
4247
+ ])];
4248
+ case 17:
4249
+ _a.sent();
4250
+ return [2 /*return*/];
4251
+ }
4252
+ });
4253
+ }); };
4016
4254
  var automation_trigger_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
4017
4255
  return __generator(this, function (_a) {
4018
4256
  switch (_a.label) {
4019
4257
  case 0:
4020
4258
  log_header("Automation Trigger Tests");
4021
- return [4 /*yield*/, formSubmittedTriggerTests()];
4259
+ return [4 /*yield*/, tag_added_tests()];
4022
4260
  case 1:
4261
+ _a.sent();
4262
+ return [4 /*yield*/, order_created_tests()];
4263
+ case 2:
4264
+ _a.sent();
4265
+ return [4 /*yield*/, formSubmittedTriggerTests()];
4266
+ case 3:
4023
4267
  _a.sent();
4024
4268
  return [2 /*return*/];
4025
4269
  }
@@ -4114,11 +4358,17 @@ var form_response_tests = function () { return __awaiter(void 0, void 0, void 0,
4114
4358
  // assert(triggeredAutomation?.event?.type === 'formResponse', 'no form response event', 'form response event triggered')
4115
4359
  assert(((_a = enduserWithUpdate === null || enduserWithUpdate === void 0 ? void 0 : enduserWithUpdate.fields) === null || _a === void 0 ? void 0 : _a[stringIntakeField]) === stringResponse, 'no enduser update', 'enduser updated');
4116
4360
  assert(((_b = recordedResponse === null || recordedResponse === void 0 ? void 0 : recordedResponse.responses) === null || _b === void 0 ? void 0 : _b.length) === 1 && ((_c = recordedResponse.responses[0]) === null || _c === void 0 ? void 0 : _c.answer.value) === stringResponse, 'response not recorded', 'response recorded');
4117
- return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser.id)];
4361
+ return [4 /*yield*/, async_test("Can set lockedAt field on form response", function () { return sdk.api.form_responses.updateOne(recordedResponse.id, { lockedAt: new Date() }); }, { onResult: function (r) { return !!r.lockedAt; } })];
4118
4362
  case 14:
4119
4363
  _d.sent();
4120
- return [4 /*yield*/, sdk.api.forms.deleteOne(form.id)];
4364
+ return [4 /*yield*/, async_test("Can unset lockedAt", function () { return sdk.api.form_responses.updateOne(recordedResponse.id, { lockedAt: '' }); }, { onResult: function (r) { return !r.lockedAt; } })];
4121
4365
  case 15:
4366
+ _d.sent();
4367
+ return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser.id)];
4368
+ case 16:
4369
+ _d.sent();
4370
+ return [4 /*yield*/, sdk.api.forms.deleteOne(form.id)];
4371
+ case 17:
4122
4372
  _d.sent();
4123
4373
  return [2 /*return*/];
4124
4374
  }
@@ -6014,7 +6264,7 @@ var wait_for_trigger_tests = function () { return __awaiter(void 0, void 0, void
6014
6264
  return [4 /*yield*/, sdk.api.endusers.updateOne(eNoTrigger.id, { fields: { Test: 'Trigger' } })];
6015
6265
  case 10:
6016
6266
  _b.sent();
6017
- return [4 /*yield*/, wait(undefined, 5000)
6267
+ return [4 /*yield*/, wait(undefined, 8000)
6018
6268
  // TODO - Test a delayed action which comes after the triggered action
6019
6269
  ];
6020
6270
  case 11:
@@ -10897,92 +11147,92 @@ var test_form_response_search = function () { return __awaiter(void 0, void 0, v
10897
11147
  return [4 /*yield*/, sync_tests()]; // should come directly after setup to avoid extra sync values
10898
11148
  case 16:
10899
11149
  _l.sent(); // should come directly after setup to avoid extra sync values
10900
- return [4 /*yield*/, enduserAccessTests()];
11150
+ return [4 /*yield*/, enduser_access_tags_tests()];
10901
11151
  case 17:
10902
11152
  _l.sent();
10903
- return [4 /*yield*/, test_form_response_search()];
11153
+ return [4 /*yield*/, enduserAccessTests()];
10904
11154
  case 18:
10905
11155
  _l.sent();
10906
- return [4 /*yield*/, date_parsing_tests()];
11156
+ return [4 /*yield*/, test_form_response_search()];
10907
11157
  case 19:
10908
11158
  _l.sent();
10909
- return [4 /*yield*/, fromEmailOverride_tests()];
11159
+ return [4 /*yield*/, date_parsing_tests()];
10910
11160
  case 20:
10911
11161
  _l.sent();
10912
- return [4 /*yield*/, ticket_tests()];
11162
+ return [4 /*yield*/, fromEmailOverride_tests()];
10913
11163
  case 21:
10914
11164
  _l.sent();
10915
- return [4 /*yield*/, uniqueness_tests()];
11165
+ return [4 /*yield*/, ticket_tests()];
10916
11166
  case 22:
10917
11167
  _l.sent();
10918
- return [4 /*yield*/, enduser_orders_tests()];
11168
+ return [4 /*yield*/, uniqueness_tests()];
10919
11169
  case 23:
10920
11170
  _l.sent();
10921
- return [4 /*yield*/, calendar_event_care_team_tests()];
11171
+ return [4 /*yield*/, enduser_orders_tests()];
10922
11172
  case 24:
10923
11173
  _l.sent();
10924
- return [4 /*yield*/, merge_enduser_tests()];
11174
+ return [4 /*yield*/, calendar_event_care_team_tests()];
10925
11175
  case 25:
10926
11176
  _l.sent();
10927
- return [4 /*yield*/, input_modifier_tests()];
11177
+ return [4 /*yield*/, merge_enduser_tests()];
10928
11178
  case 26:
10929
11179
  _l.sent();
10930
- return [4 /*yield*/, formsort_tests()];
11180
+ return [4 /*yield*/, input_modifier_tests()];
10931
11181
  case 27:
10932
11182
  _l.sent();
10933
- return [4 /*yield*/, switch_to_related_contacts_tests()];
11183
+ return [4 /*yield*/, formsort_tests()];
10934
11184
  case 28:
10935
11185
  _l.sent();
10936
- return [4 /*yield*/, redaction_tests()];
11186
+ return [4 /*yield*/, switch_to_related_contacts_tests()];
10937
11187
  case 29:
10938
11188
  _l.sent();
10939
- return [4 /*yield*/, self_serve_appointment_booking_tests()];
11189
+ return [4 /*yield*/, redaction_tests()];
10940
11190
  case 30:
10941
11191
  _l.sent();
10942
- return [4 /*yield*/, no_chained_triggers_tests()];
11192
+ return [4 /*yield*/, self_serve_appointment_booking_tests()];
10943
11193
  case 31:
10944
11194
  _l.sent();
10945
- return [4 /*yield*/, rate_limit_tests()];
11195
+ return [4 /*yield*/, no_chained_triggers_tests()];
10946
11196
  case 32:
10947
11197
  _l.sent();
10948
- return [4 /*yield*/, mdb_filter_tests()];
11198
+ return [4 /*yield*/, rate_limit_tests()];
10949
11199
  case 33:
10950
11200
  _l.sent();
10951
- return [4 /*yield*/, test_ticket_automation_assignment_and_optimization()];
11201
+ return [4 /*yield*/, mdb_filter_tests()];
10952
11202
  case 34:
10953
11203
  _l.sent();
10954
- return [4 /*yield*/, superadmin_tests()];
11204
+ return [4 /*yield*/, test_ticket_automation_assignment_and_optimization()];
10955
11205
  case 35:
10956
11206
  _l.sent();
10957
- return [4 /*yield*/, ticket_queue_tests()];
11207
+ return [4 /*yield*/, superadmin_tests()];
10958
11208
  case 36:
10959
11209
  _l.sent();
10960
- return [4 /*yield*/, vital_trigger_tests()];
11210
+ return [4 /*yield*/, ticket_queue_tests()];
10961
11211
  case 37:
10962
11212
  _l.sent();
10963
- return [4 /*yield*/, close_reasons_no_duplicates_tests()];
11213
+ return [4 /*yield*/, vital_trigger_tests()];
10964
11214
  case 38:
10965
11215
  _l.sent();
10966
- return [4 /*yield*/, register_as_enduser_tests()];
11216
+ return [4 /*yield*/, close_reasons_no_duplicates_tests()];
10967
11217
  case 39:
10968
11218
  _l.sent();
10969
- return [4 /*yield*/, lockout_tests()];
11219
+ return [4 /*yield*/, register_as_enduser_tests()];
10970
11220
  case 40:
11221
+ _l.sent();
11222
+ return [4 /*yield*/, lockout_tests()];
11223
+ case 41:
10971
11224
  _l.sent();
10972
11225
  return [4 /*yield*/, delete_user_tests()
10973
11226
  // await test_send_with_template()
10974
11227
  ];
10975
- case 41:
11228
+ case 42:
10976
11229
  _l.sent();
10977
11230
  // await test_send_with_template()
10978
11231
  return [4 /*yield*/, bulk_read_tests()];
10979
- case 42:
11232
+ case 43:
10980
11233
  // await test_send_with_template()
10981
11234
  _l.sent();
10982
11235
  return [4 /*yield*/, ticket_reminder_tests()];
10983
- case 43:
10984
- _l.sent();
10985
- return [4 /*yield*/, enduser_access_tags_tests()];
10986
11236
  case 44:
10987
11237
  _l.sent();
10988
11238
  return [4 /*yield*/, marketing_email_unsubscribe_tests()];