@tellescope/sdk 1.256.6 → 1.256.8

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 (128) hide show
  1. package/lib/cjs/enduser.d.ts +1 -1
  2. package/lib/cjs/enduser.d.ts.map +1 -1
  3. package/lib/cjs/enduser.js +1 -0
  4. package/lib/cjs/enduser.js.map +1 -1
  5. package/lib/cjs/tests/api_tests/calendar_event_create_and_bulk_triggers.test.d.ts +6 -0
  6. package/lib/cjs/tests/api_tests/calendar_event_create_and_bulk_triggers.test.d.ts.map +1 -0
  7. package/lib/cjs/tests/api_tests/calendar_event_create_and_bulk_triggers.test.js +505 -0
  8. package/lib/cjs/tests/api_tests/calendar_event_create_and_bulk_triggers.test.js.map +1 -0
  9. package/lib/cjs/tests/api_tests/configurations_public_read.test.d.ts +6 -0
  10. package/lib/cjs/tests/api_tests/configurations_public_read.test.d.ts.map +1 -0
  11. package/lib/cjs/tests/api_tests/configurations_public_read.test.js +173 -0
  12. package/lib/cjs/tests/api_tests/configurations_public_read.test.js.map +1 -0
  13. package/lib/cjs/tests/api_tests/form_started_trigger.test.d.ts.map +1 -1
  14. package/lib/cjs/tests/api_tests/form_started_trigger.test.js +87 -24
  15. package/lib/cjs/tests/api_tests/form_started_trigger.test.js.map +1 -1
  16. package/lib/cjs/tests/api_tests/form_translations.test.d.ts +6 -0
  17. package/lib/cjs/tests/api_tests/form_translations.test.d.ts.map +1 -0
  18. package/lib/cjs/tests/api_tests/form_translations.test.js +259 -0
  19. package/lib/cjs/tests/api_tests/form_translations.test.js.map +1 -0
  20. package/lib/cjs/tests/api_tests/group_event_attendee_self_update.test.d.ts +6 -0
  21. package/lib/cjs/tests/api_tests/group_event_attendee_self_update.test.d.ts.map +1 -0
  22. package/lib/cjs/tests/api_tests/group_event_attendee_self_update.test.js +293 -0
  23. package/lib/cjs/tests/api_tests/group_event_attendee_self_update.test.js.map +1 -0
  24. package/lib/cjs/tests/api_tests/group_event_attendee_status_triggers.test.d.ts.map +1 -1
  25. package/lib/cjs/tests/api_tests/group_event_attendee_status_triggers.test.js +340 -124
  26. package/lib/cjs/tests/api_tests/group_event_attendee_status_triggers.test.js.map +1 -1
  27. package/lib/cjs/tests/api_tests/mdi_trigger_refill.test.d.ts +6 -0
  28. package/lib/cjs/tests/api_tests/mdi_trigger_refill.test.d.ts.map +1 -0
  29. package/lib/cjs/tests/api_tests/mdi_trigger_refill.test.js +277 -0
  30. package/lib/cjs/tests/api_tests/mdi_trigger_refill.test.js.map +1 -0
  31. package/lib/cjs/tests/api_tests/purchase_made_trigger.test.d.ts.map +1 -1
  32. package/lib/cjs/tests/api_tests/purchase_made_trigger.test.js +262 -78
  33. package/lib/cjs/tests/api_tests/purchase_made_trigger.test.js.map +1 -1
  34. package/lib/cjs/tests/api_tests/security/F-0006-develop-health-benefit-verification-rbac.test.d.ts +31 -0
  35. package/lib/cjs/tests/api_tests/security/F-0006-develop-health-benefit-verification-rbac.test.d.ts.map +1 -0
  36. package/lib/cjs/tests/api_tests/security/F-0006-develop-health-benefit-verification-rbac.test.js +315 -0
  37. package/lib/cjs/tests/api_tests/security/F-0006-develop-health-benefit-verification-rbac.test.js.map +1 -0
  38. package/lib/cjs/tests/api_tests/security/public_endpoint_auth_field_lock.test.d.ts.map +1 -1
  39. package/lib/cjs/tests/api_tests/security/public_endpoint_auth_field_lock.test.js +206 -198
  40. package/lib/cjs/tests/api_tests/security/public_endpoint_auth_field_lock.test.js.map +1 -1
  41. package/lib/cjs/tests/api_tests/stripe_webhook_triggers.test.d.ts.map +1 -1
  42. package/lib/cjs/tests/api_tests/stripe_webhook_triggers.test.js +343 -80
  43. package/lib/cjs/tests/api_tests/stripe_webhook_triggers.test.js.map +1 -1
  44. package/lib/cjs/tests/api_tests/welle_partner_token.test.d.ts.map +1 -1
  45. package/lib/cjs/tests/api_tests/welle_partner_token.test.js +74 -35
  46. package/lib/cjs/tests/api_tests/welle_partner_token.test.js.map +1 -1
  47. package/lib/cjs/tests/stripe_webhook_helpers.d.ts +134 -0
  48. package/lib/cjs/tests/stripe_webhook_helpers.d.ts.map +1 -1
  49. package/lib/cjs/tests/stripe_webhook_helpers.js +126 -1
  50. package/lib/cjs/tests/stripe_webhook_helpers.js.map +1 -1
  51. package/lib/cjs/tests/tests.d.ts.map +1 -1
  52. package/lib/cjs/tests/tests.js +242 -212
  53. package/lib/cjs/tests/tests.js.map +1 -1
  54. package/lib/esm/enduser.d.ts +2 -1
  55. package/lib/esm/enduser.d.ts.map +1 -1
  56. package/lib/esm/enduser.js +1 -0
  57. package/lib/esm/enduser.js.map +1 -1
  58. package/lib/esm/sdk.d.ts +3 -2
  59. package/lib/esm/sdk.d.ts.map +1 -1
  60. package/lib/esm/session.d.ts +1 -0
  61. package/lib/esm/session.d.ts.map +1 -1
  62. package/lib/esm/tests/api_tests/calendar_event_create_and_bulk_triggers.test.d.ts +6 -0
  63. package/lib/esm/tests/api_tests/calendar_event_create_and_bulk_triggers.test.d.ts.map +1 -0
  64. package/lib/esm/tests/api_tests/calendar_event_create_and_bulk_triggers.test.js +501 -0
  65. package/lib/esm/tests/api_tests/calendar_event_create_and_bulk_triggers.test.js.map +1 -0
  66. package/lib/esm/tests/api_tests/configurations_public_read.test.d.ts +6 -0
  67. package/lib/esm/tests/api_tests/configurations_public_read.test.d.ts.map +1 -0
  68. package/lib/esm/tests/api_tests/configurations_public_read.test.js +169 -0
  69. package/lib/esm/tests/api_tests/configurations_public_read.test.js.map +1 -0
  70. package/lib/esm/tests/api_tests/form_started_trigger.test.d.ts.map +1 -1
  71. package/lib/esm/tests/api_tests/form_started_trigger.test.js +87 -24
  72. package/lib/esm/tests/api_tests/form_started_trigger.test.js.map +1 -1
  73. package/lib/esm/tests/api_tests/form_translations.test.d.ts +6 -0
  74. package/lib/esm/tests/api_tests/form_translations.test.d.ts.map +1 -0
  75. package/lib/esm/tests/api_tests/form_translations.test.js +255 -0
  76. package/lib/esm/tests/api_tests/form_translations.test.js.map +1 -0
  77. package/lib/esm/tests/api_tests/group_event_attendee_self_update.test.d.ts +6 -0
  78. package/lib/esm/tests/api_tests/group_event_attendee_self_update.test.d.ts.map +1 -0
  79. package/lib/esm/tests/api_tests/group_event_attendee_self_update.test.js +289 -0
  80. package/lib/esm/tests/api_tests/group_event_attendee_self_update.test.js.map +1 -0
  81. package/lib/esm/tests/api_tests/group_event_attendee_status_triggers.test.d.ts.map +1 -1
  82. package/lib/esm/tests/api_tests/group_event_attendee_status_triggers.test.js +340 -124
  83. package/lib/esm/tests/api_tests/group_event_attendee_status_triggers.test.js.map +1 -1
  84. package/lib/esm/tests/api_tests/mdi_trigger_refill.test.d.ts +6 -0
  85. package/lib/esm/tests/api_tests/mdi_trigger_refill.test.d.ts.map +1 -0
  86. package/lib/esm/tests/api_tests/mdi_trigger_refill.test.js +273 -0
  87. package/lib/esm/tests/api_tests/mdi_trigger_refill.test.js.map +1 -0
  88. package/lib/esm/tests/api_tests/purchase_made_trigger.test.d.ts.map +1 -1
  89. package/lib/esm/tests/api_tests/purchase_made_trigger.test.js +262 -78
  90. package/lib/esm/tests/api_tests/purchase_made_trigger.test.js.map +1 -1
  91. package/lib/esm/tests/api_tests/security/F-0006-develop-health-benefit-verification-rbac.test.d.ts +31 -0
  92. package/lib/esm/tests/api_tests/security/F-0006-develop-health-benefit-verification-rbac.test.d.ts.map +1 -0
  93. package/lib/esm/tests/api_tests/security/F-0006-develop-health-benefit-verification-rbac.test.js +311 -0
  94. package/lib/esm/tests/api_tests/security/F-0006-develop-health-benefit-verification-rbac.test.js.map +1 -0
  95. package/lib/esm/tests/api_tests/security/public_endpoint_auth_field_lock.test.d.ts.map +1 -1
  96. package/lib/esm/tests/api_tests/security/public_endpoint_auth_field_lock.test.js +206 -198
  97. package/lib/esm/tests/api_tests/security/public_endpoint_auth_field_lock.test.js.map +1 -1
  98. package/lib/esm/tests/api_tests/stripe_webhook_triggers.test.d.ts.map +1 -1
  99. package/lib/esm/tests/api_tests/stripe_webhook_triggers.test.js +344 -81
  100. package/lib/esm/tests/api_tests/stripe_webhook_triggers.test.js.map +1 -1
  101. package/lib/esm/tests/api_tests/welle_partner_token.test.d.ts.map +1 -1
  102. package/lib/esm/tests/api_tests/welle_partner_token.test.js +74 -35
  103. package/lib/esm/tests/api_tests/welle_partner_token.test.js.map +1 -1
  104. package/lib/esm/tests/stripe_webhook_helpers.d.ts +134 -0
  105. package/lib/esm/tests/stripe_webhook_helpers.d.ts.map +1 -1
  106. package/lib/esm/tests/stripe_webhook_helpers.js +119 -0
  107. package/lib/esm/tests/stripe_webhook_helpers.js.map +1 -1
  108. package/lib/esm/tests/tests.d.ts.map +1 -1
  109. package/lib/esm/tests/tests.js +242 -212
  110. package/lib/esm/tests/tests.js.map +1 -1
  111. package/lib/tsconfig.tsbuildinfo +1 -1
  112. package/package.json +10 -10
  113. package/src/enduser.ts +4 -2
  114. package/src/tests/api_tests/calendar_event_create_and_bulk_triggers.test.ts +293 -0
  115. package/src/tests/api_tests/configurations_public_read.test.ts +116 -0
  116. package/src/tests/api_tests/form_started_trigger.test.ts +49 -1
  117. package/src/tests/api_tests/form_translations.test.ts +205 -0
  118. package/src/tests/api_tests/group_event_attendee_self_update.test.ts +161 -0
  119. package/src/tests/api_tests/group_event_attendee_status_triggers.test.ts +135 -0
  120. package/src/tests/api_tests/mdi_trigger_refill.test.ts +184 -0
  121. package/src/tests/api_tests/purchase_made_trigger.test.ts +137 -0
  122. package/src/tests/api_tests/security/F-0006-develop-health-benefit-verification-rbac.test.ts +204 -0
  123. package/src/tests/api_tests/security/public_endpoint_auth_field_lock.test.ts +16 -6
  124. package/src/tests/api_tests/stripe_webhook_triggers.test.ts +221 -0
  125. package/src/tests/api_tests/welle_partner_token.test.ts +49 -6
  126. package/src/tests/stripe_webhook_helpers.ts +116 -0
  127. package/src/tests/tests.ts +29 -12
  128. package/test_generated.pdf +0 -0
@@ -0,0 +1,259 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.form_translations_tests = void 0;
40
+ require('source-map-support').install();
41
+ var sdk_1 = require("../../sdk");
42
+ var testing_1 = require("@tellescope/testing");
43
+ var utilities_1 = require("@tellescope/utilities");
44
+ var setup_1 = require("../setup");
45
+ var host = process.env.API_URL || 'http://localhost:8080';
46
+ // Modular test for AI form translations (display-language maps for v2 forms).
47
+ //
48
+ // Covers:
49
+ // 1. Storage round-trip: encodeTranslationMapForStorage survives the configurations.value escapeHTML
50
+ // validator (sanitize_html strips tags and entity-encodes & < >) for maps containing HTML, & < >,
51
+ // quotes, {{placeholders}}, and non-ASCII text.
52
+ // 2. Form.translationConfigurations (language -> configurationId) persistence.
53
+ // 3. public_form_details language param: returns the map only for a publicRead-flagged configuration
54
+ // on a form that allows a public URL.
55
+ // 4. submit_form_response viewedInLanguage: persisted as metadata while stored answers stay English.
56
+ //
57
+ // NOTE: this test deliberately does NOT invoke the AI translation endpoint (ai_conversations.send_message) —
58
+ // that path consumes AI credits. Map generation is exercised via manual map fixtures.
59
+ var form_translations_tests = function (_a) {
60
+ var sdk = _a.sdk;
61
+ return __awaiter(void 0, void 0, void 0, function () {
62
+ var ENGLISH_CHOICES, TRANSLATION_MAP, createdConfigurationIds, formId, fieldId, enduserId, encoded, configuration_1, storedConfiguration, decoded, unflaggedConfiguration, form_1, field_1, updatedForm, publicSDK_1, enduser, accessCode, formResponse, storedResponse, storedAnswer, _i, createdConfigurationIds_1, id;
63
+ var _b;
64
+ var _c, _d, _e;
65
+ return __generator(this, function (_f) {
66
+ switch (_f.label) {
67
+ case 0:
68
+ (0, testing_1.log_header)("Form Translations Tests");
69
+ ENGLISH_CHOICES = ['Salt & Pepper', '<b>Bold</b> choice', "It's \"quoted\"", 'Résumé 中文'];
70
+ TRANSLATION_MAP = (_b = {
71
+ 'What is your favorite seasoning?': '¿Cuál es tu condimento favorito?',
72
+ 'Salt & Pepper': 'Sal & Pimienta',
73
+ '<b>Bold</b> choice': '<b>Negrita</b> elección'
74
+ },
75
+ _b["It's \"quoted\""] = "Est\u00E1 \"citado\"",
76
+ _b['Résumé 中文'] = 'Currículum 中文',
77
+ _b['Hello {{enduser.fname}} <br/> welcome'] = 'Hola {{enduser.fname}} <br/> bienvenido',
78
+ _b);
79
+ createdConfigurationIds = [];
80
+ _f.label = 1;
81
+ case 1:
82
+ _f.trys.push([1, , 20, 31]);
83
+ encoded = (0, utilities_1.encodeTranslationMapForStorage)(TRANSLATION_MAP);
84
+ return [4 /*yield*/, sdk.api.configurations.createOne({
85
+ type: 'form-translations:test:es',
86
+ value: encoded,
87
+ publicRead: true,
88
+ })];
89
+ case 2:
90
+ configuration_1 = _f.sent();
91
+ createdConfigurationIds.push(configuration_1.id);
92
+ return [4 /*yield*/, sdk.api.configurations.getOne(configuration_1.id)];
93
+ case 3:
94
+ storedConfiguration = _f.sent();
95
+ decoded = (0, utilities_1.decodeTranslationMapFromStorage)(storedConfiguration.value);
96
+ (0, testing_1.assert)((0, utilities_1.objects_equivalent)(decoded, TRANSLATION_MAP), "translation map corrupted by storage: ".concat(JSON.stringify(decoded)), 'translation map with & < > quotes HTML and non-ASCII survives storage round-trip');
97
+ return [4 /*yield*/, sdk.api.configurations.createOne({
98
+ type: 'form-translations:test:fr-unflagged',
99
+ value: (0, utilities_1.encodeTranslationMapForStorage)({ Hello: 'Bonjour' }),
100
+ })];
101
+ case 4:
102
+ unflaggedConfiguration = _f.sent();
103
+ createdConfigurationIds.push(unflaggedConfiguration.id);
104
+ return [4 /*yield*/, sdk.api.forms.createOne({
105
+ title: 'Form Translations Test Form',
106
+ version: 'v2',
107
+ allowPublicURL: true,
108
+ })];
109
+ case 5:
110
+ form_1 = _f.sent();
111
+ formId = form_1.id;
112
+ return [4 /*yield*/, sdk.api.form_fields.createOne({
113
+ formId: form_1.id,
114
+ title: 'What is your favorite seasoning?',
115
+ type: 'multiple_choice',
116
+ options: { choices: ENGLISH_CHOICES, radio: true },
117
+ previousFields: [{ type: 'root', info: {} }],
118
+ })];
119
+ case 6:
120
+ field_1 = _f.sent();
121
+ fieldId = field_1.id;
122
+ return [4 /*yield*/, sdk.api.forms.updateOne(form_1.id, {
123
+ translationConfigurations: [
124
+ { language: 'es', configurationId: configuration_1.id },
125
+ { language: 'fr', configurationId: unflaggedConfiguration.id },
126
+ ],
127
+ }, { replaceObjectFields: true })];
128
+ case 7:
129
+ _f.sent();
130
+ return [4 /*yield*/, sdk.api.forms.getOne(form_1.id)];
131
+ case 8:
132
+ updatedForm = _f.sent();
133
+ (0, testing_1.assert)(((_c = updatedForm.translationConfigurations) === null || _c === void 0 ? void 0 : _c.length) === 2
134
+ && updatedForm.translationConfigurations.some(function (t) { return t.language === 'es' && t.configurationId === configuration_1.id; }), "translationConfigurations not persisted: ".concat(JSON.stringify(updatedForm.translationConfigurations)), 'form translationConfigurations mapping persists');
135
+ publicSDK_1 = new sdk_1.EnduserSession({ host: host, businessId: sdk.userInfo.businessId });
136
+ return [4 /*yield*/, (0, testing_1.async_test)('public_form_details returns translations for a mapped language with a flagged configuration', function () { return publicSDK_1.api.forms.public_form_details({ formId: form_1.id, language: 'es' }); }, { onResult: function (r) { return (0, utilities_1.objects_equivalent)(r.translations, TRANSLATION_MAP); } })];
137
+ case 9:
138
+ _f.sent();
139
+ return [4 /*yield*/, (0, testing_1.async_test)('public_form_details returns no translations without a language param', function () { return publicSDK_1.api.forms.public_form_details({ formId: form_1.id }); }, { onResult: function (r) { return !r.translations || Object.keys(r.translations).length === 0; } })];
140
+ case 10:
141
+ _f.sent();
142
+ return [4 /*yield*/, (0, testing_1.async_test)('public_form_details returns no translations for an unmapped language', function () { return publicSDK_1.api.forms.public_form_details({ formId: form_1.id, language: 'de' }); }, { onResult: function (r) { return !r.translations || Object.keys(r.translations).length === 0; } })];
143
+ case 11:
144
+ _f.sent();
145
+ return [4 /*yield*/, (0, testing_1.async_test)('public_form_details returns no translations for an UNFLAGGED configuration (publicRead gate)', function () { return publicSDK_1.api.forms.public_form_details({ formId: form_1.id, language: 'fr' }); }, { onResult: function (r) { return !r.translations || Object.keys(r.translations).length === 0; } })
146
+ // a form without allowPublicURL still rejects public_form_details entirely
147
+ ];
148
+ case 12:
149
+ _f.sent();
150
+ // a form without allowPublicURL still rejects public_form_details entirely
151
+ return [4 /*yield*/, sdk.api.forms.updateOne(form_1.id, { allowPublicURL: false })];
152
+ case 13:
153
+ // a form without allowPublicURL still rejects public_form_details entirely
154
+ _f.sent();
155
+ return [4 /*yield*/, (0, testing_1.async_test)('public_form_details still rejects forms without allowPublicURL', function () { return publicSDK_1.api.forms.public_form_details({ formId: form_1.id, language: 'es' }); }, testing_1.handleAnyError)];
156
+ case 14:
157
+ _f.sent();
158
+ return [4 /*yield*/, sdk.api.forms.updateOne(form_1.id, { allowPublicURL: true })
159
+ // --- 4. viewedInLanguage persists; stored answers remain English ---
160
+ ];
161
+ case 15:
162
+ _f.sent();
163
+ return [4 /*yield*/, sdk.api.endusers.createOne({
164
+ email: "form_translations_".concat(Date.now(), "@test.tellescope.com"),
165
+ })];
166
+ case 16:
167
+ enduser = _f.sent();
168
+ enduserId = enduser.id;
169
+ return [4 /*yield*/, sdk.api.form_responses.prepare_form_response({
170
+ formId: form_1.id, enduserId: enduser.id,
171
+ })];
172
+ case 17:
173
+ accessCode = (_f.sent()).accessCode;
174
+ return [4 /*yield*/, sdk.api.form_responses.submit_form_response({
175
+ accessCode: accessCode,
176
+ viewedInLanguage: 'es',
177
+ responses: [{
178
+ fieldId: field_1.id,
179
+ fieldTitle: field_1.title,
180
+ answer: { type: 'multiple_choice', value: ['Salt & Pepper'] }, // English source value, never the translation
181
+ }],
182
+ })];
183
+ case 18:
184
+ formResponse = (_f.sent()).formResponse;
185
+ return [4 /*yield*/, sdk.api.form_responses.getOne(formResponse.id)];
186
+ case 19:
187
+ storedResponse = _f.sent();
188
+ (0, testing_1.assert)(storedResponse.viewedInLanguage === 'es', "viewedInLanguage not persisted: ".concat(storedResponse.viewedInLanguage), 'viewedInLanguage persists on the submitted form response');
189
+ storedAnswer = (_d = storedResponse.responses) === null || _d === void 0 ? void 0 : _d.find(function (r) { return r.fieldId === field_1.id; });
190
+ (0, testing_1.assert)(Array.isArray((_e = storedAnswer === null || storedAnswer === void 0 ? void 0 : storedAnswer.answer) === null || _e === void 0 ? void 0 : _e.value)
191
+ && storedAnswer.answer.value[0] === 'Salt & Pepper'
192
+ && storedAnswer.fieldTitle === 'What is your favorite seasoning?', "stored response not English: ".concat(JSON.stringify(storedAnswer)), 'stored answer value and fieldTitle remain the English source strings');
193
+ return [3 /*break*/, 31];
194
+ case 20:
195
+ if (!enduserId) return [3 /*break*/, 22];
196
+ return [4 /*yield*/, sdk.api.endusers.deleteOne(enduserId).catch(function () { })];
197
+ case 21:
198
+ _f.sent();
199
+ _f.label = 22;
200
+ case 22:
201
+ if (!fieldId) return [3 /*break*/, 24];
202
+ return [4 /*yield*/, sdk.api.form_fields.deleteOne(fieldId).catch(function () { })];
203
+ case 23:
204
+ _f.sent();
205
+ _f.label = 24;
206
+ case 24:
207
+ if (!formId) return [3 /*break*/, 26];
208
+ return [4 /*yield*/, sdk.api.forms.deleteOne(formId).catch(function () { })];
209
+ case 25:
210
+ _f.sent();
211
+ _f.label = 26;
212
+ case 26:
213
+ _i = 0, createdConfigurationIds_1 = createdConfigurationIds;
214
+ _f.label = 27;
215
+ case 27:
216
+ if (!(_i < createdConfigurationIds_1.length)) return [3 /*break*/, 30];
217
+ id = createdConfigurationIds_1[_i];
218
+ return [4 /*yield*/, sdk.api.configurations.deleteOne(id).catch(function () { })];
219
+ case 28:
220
+ _f.sent();
221
+ _f.label = 29;
222
+ case 29:
223
+ _i++;
224
+ return [3 /*break*/, 27];
225
+ case 30: return [7 /*endfinally*/];
226
+ case 31: return [2 /*return*/];
227
+ }
228
+ });
229
+ });
230
+ };
231
+ exports.form_translations_tests = form_translations_tests;
232
+ // Allow running this test file independently
233
+ if (require.main === module) {
234
+ var sdk_2 = new sdk_1.Session({ host: host });
235
+ var sdkNonAdmin_1 = new sdk_1.Session({ host: host });
236
+ var runTests = function () { return __awaiter(void 0, void 0, void 0, function () {
237
+ return __generator(this, function (_a) {
238
+ switch (_a.label) {
239
+ case 0: return [4 /*yield*/, (0, setup_1.setup_tests)(sdk_2, sdkNonAdmin_1)];
240
+ case 1:
241
+ _a.sent();
242
+ return [4 /*yield*/, (0, exports.form_translations_tests)({ sdk: sdk_2, sdkNonAdmin: sdkNonAdmin_1 })];
243
+ case 2:
244
+ _a.sent();
245
+ return [2 /*return*/];
246
+ }
247
+ });
248
+ }); };
249
+ runTests()
250
+ .then(function () {
251
+ console.log("✅ Form translations test suite completed successfully");
252
+ process.exit(0);
253
+ })
254
+ .catch(function (error) {
255
+ console.error("❌ Form translations test suite failed:", error);
256
+ process.exit(1);
257
+ });
258
+ }
259
+ //# sourceMappingURL=form_translations.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form_translations.test.js","sourceRoot":"","sources":["../../../../src/tests/api_tests/form_translations.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,EAAE,CAAC;AAExC,iCAAmD;AACnD,+CAK4B;AAC5B,mDAI8B;AAC9B,kCAAsC;AAEtC,IAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,uBAAgC,CAAA;AAEpE,8EAA8E;AAC9E,EAAE;AACF,UAAU;AACV,qGAAqG;AACrG,qGAAqG;AACrG,mDAAmD;AACnD,+EAA+E;AAC/E,qGAAqG;AACrG,yCAAyC;AACzC,qGAAqG;AACrG,EAAE;AACF,6GAA6G;AAC7G,sFAAsF;AAC/E,IAAM,uBAAuB,GAAG,UAAO,EAAgD;QAA9C,GAAG,SAAA;;;;;;;;oBACjD,IAAA,oBAAU,EAAC,yBAAyB,CAAC,CAAA;oBAE/B,eAAe,GAAG,CAAC,eAAe,EAAE,oBAAoB,EAAE,iBAAe,EAAE,WAAW,CAAC,CAAA;oBAGvF,eAAe;4BACnB,kCAAkC,EAAE,kCAAkC;4BACtE,eAAe,EAAE,gBAAgB;4BACjC,oBAAoB,EAAE,yBAAyB;;wBAC/C,GAAC,iBAAe,IAAG,sBAAe;wBAClC,eAAW,GAAE,eAAe;wBAC5B,2CAAuC,GAAE,yCAAyC;2BACnF,CAAA;oBAEK,uBAAuB,GAAa,EAAE,CAAA;;;;oBAOpC,OAAO,GAAG,IAAA,0CAA8B,EAAC,eAAe,CAAC,CAAA;oBACzC,qBAAM,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC;4BAC3D,IAAI,EAAE,2BAA2B;4BACjC,KAAK,EAAE,OAAO;4BACd,UAAU,EAAE,IAAI;yBACjB,CAAC,EAAA;;oBAJI,kBAAgB,SAIpB;oBACF,uBAAuB,CAAC,IAAI,CAAC,eAAa,CAAC,EAAE,CAAC,CAAA;oBAElB,qBAAM,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,eAAa,CAAC,EAAE,CAAC,EAAA;;oBAA3E,mBAAmB,GAAG,SAAqD;oBAC3E,OAAO,GAAG,IAAA,2CAA+B,EAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;oBAC1E,IAAA,gBAAM,EACJ,IAAA,8BAAkB,EAAC,OAAO,EAAE,eAAe,CAAC,EAC5C,gDAAyC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAE,EAClE,kFAAkF,CACnF,CAAA;oBAG8B,qBAAM,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC;4BACpE,IAAI,EAAE,qCAAqC;4BAC3C,KAAK,EAAE,IAAA,0CAA8B,EAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;yBAC5D,CAAC,EAAA;;oBAHI,sBAAsB,GAAG,SAG7B;oBACF,uBAAuB,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAA;oBAG1C,qBAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC;4BACzC,KAAK,EAAE,6BAA6B;4BACpC,OAAO,EAAE,IAAI;4BACb,cAAc,EAAE,IAAI;yBACrB,CAAC,EAAA;;oBAJI,SAAO,SAIX;oBACF,MAAM,GAAG,MAAI,CAAC,EAAE,CAAA;oBAEF,qBAAM,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC;4BAChD,MAAM,EAAE,MAAI,CAAC,EAAE;4BACf,KAAK,EAAE,kCAAkC;4BACzC,IAAI,EAAE,iBAAiB;4BACvB,OAAO,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE;4BAClD,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;yBAC7C,CAAC,EAAA;;oBANI,UAAQ,SAMZ;oBACF,OAAO,GAAG,OAAK,CAAC,EAAE,CAAA;oBAElB,qBAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,MAAI,CAAC,EAAE,EAAE;4BACrC,yBAAyB,EAAE;gCACzB,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,eAAa,CAAC,EAAE,EAAE;gCACrD,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,sBAAsB,CAAC,EAAE,EAAE;6BAC/D;yBACF,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC,EAAA;;oBALjC,SAKiC,CAAA;oBAEb,qBAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAI,CAAC,EAAE,CAAC,EAAA;;oBAAjD,WAAW,GAAG,SAAmC;oBACvD,IAAA,gBAAM,EACJ,CAAA,MAAA,WAAW,CAAC,yBAAyB,0CAAE,MAAM,MAAK,CAAC;2BAChD,WAAW,CAAC,yBAAyB,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,CAAC,eAAe,KAAK,eAAa,CAAC,EAAE,EAA7D,CAA6D,CAAC,EACjH,mDAA4C,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAE,EACnG,iDAAiD,CAClD,CAAA;oBAGK,cAAY,IAAI,oBAAc,CAAC,EAAE,IAAI,MAAA,EAAE,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAA;oBAEnF,qBAAM,IAAA,oBAAU,EACd,6FAA6F,EAC7F,cAAM,OAAA,WAAS,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,MAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAA5E,CAA4E,EAClF,EAAE,QAAQ,EAAE,UAAA,CAAC,IAAI,OAAA,IAAA,8BAAkB,EAAC,CAAC,CAAC,YAAY,EAAE,eAAe,CAAC,EAAnD,CAAmD,EAAE,CACvE,EAAA;;oBAJD,SAIC,CAAA;oBACD,qBAAM,IAAA,oBAAU,EACd,sEAAsE,EACtE,cAAM,OAAA,WAAS,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,MAAI,CAAC,EAAE,EAAE,CAAC,EAA5D,CAA4D,EAClE,EAAE,QAAQ,EAAE,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC,EAA3D,CAA2D,EAAE,CAC/E,EAAA;;oBAJD,SAIC,CAAA;oBACD,qBAAM,IAAA,oBAAU,EACd,sEAAsE,EACtE,cAAM,OAAA,WAAS,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,MAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAA5E,CAA4E,EAClF,EAAE,QAAQ,EAAE,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC,EAA3D,CAA2D,EAAE,CAC/E,EAAA;;oBAJD,SAIC,CAAA;oBACD,qBAAM,IAAA,oBAAU,EACd,8FAA8F,EAC9F,cAAM,OAAA,WAAS,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,MAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAA5E,CAA4E,EAClF,EAAE,QAAQ,EAAE,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC,EAA3D,CAA2D,EAAE,CAC/E;wBAED,2EAA2E;sBAF1E;;oBAJD,SAIC,CAAA;oBAED,2EAA2E;oBAC3E,qBAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,MAAI,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAA;;oBADjE,2EAA2E;oBAC3E,SAAiE,CAAA;oBACjE,qBAAM,IAAA,oBAAU,EACd,gEAAgE,EAChE,cAAM,OAAA,WAAS,CAAC,GAAG,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,MAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAA5E,CAA4E,EAClF,wBAAc,CACf,EAAA;;oBAJD,SAIC,CAAA;oBACD,qBAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,MAAI,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;wBAEhE,sEAAsE;sBAFN;;oBAAhE,SAAgE,CAAA;oBAGhD,qBAAM,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC;4BAC/C,KAAK,EAAE,4BAAqB,IAAI,CAAC,GAAG,EAAE,yBAAsB;yBAC7D,CAAC,EAAA;;oBAFI,OAAO,GAAG,SAEd;oBACF,SAAS,GAAG,OAAO,CAAC,EAAE,CAAA;oBAEC,qBAAM,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,qBAAqB,CAAC;4BACxE,MAAM,EAAE,MAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE;yBACvC,CAAC,EAAA;;oBAFM,UAAU,GAAK,CAAA,SAErB,CAAA,WAFgB;oBAIO,qBAAM,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,oBAAoB,CAAC;4BACzE,UAAU,YAAA;4BACV,gBAAgB,EAAE,IAAI;4BACtB,SAAS,EAAE,CAAC;oCACV,OAAO,EAAE,OAAK,CAAC,EAAE;oCACjB,UAAU,EAAE,OAAK,CAAC,KAAK;oCACvB,MAAM,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,8CAA8C;iCAC9G,CAAC;yBACH,CAAC,EAAA;;oBARM,YAAY,GAAK,CAAA,SAQvB,CAAA,aARkB;oBAUG,qBAAM,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,EAAA;;oBAArE,cAAc,GAAG,SAAoD;oBAC3E,IAAA,gBAAM,EACJ,cAAc,CAAC,gBAAgB,KAAK,IAAI,EACxC,0CAAmC,cAAc,CAAC,gBAAgB,CAAE,EACpE,0DAA0D,CAC3D,CAAA;oBACK,YAAY,GAAG,MAAA,cAAc,CAAC,SAAS,0CAAE,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,OAAO,KAAK,OAAK,CAAC,EAAE,EAAtB,CAAsB,CAAC,CAAA;oBAChF,IAAA,gBAAM,EACJ,KAAK,CAAC,OAAO,CAAC,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,0CAAE,KAAK,CAAC;2BACtC,YAAa,CAAC,MAAM,CAAC,KAAkB,CAAC,CAAC,CAAC,KAAK,eAAe;2BAC/D,YAAa,CAAC,UAAU,KAAK,kCAAkC,EAClE,uCAAgC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAE,EAC9D,sEAAsE,CACvE,CAAA;;;yBAEG,SAAS,EAAT,yBAAS;oBAAE,qBAAM,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,cAAO,CAAC,CAAC,EAAA;;oBAA3D,SAA2D,CAAA;;;yBACtE,OAAO,EAAP,yBAAO;oBAAE,qBAAM,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,cAAO,CAAC,CAAC,EAAA;;oBAA5D,SAA4D,CAAA;;;yBACrE,MAAM,EAAN,yBAAM;oBAAE,qBAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,cAAO,CAAC,CAAC,EAAA;;oBAArD,SAAqD,CAAA;;;0BACzB,EAAvB,mDAAuB;;;yBAAvB,CAAA,qCAAuB,CAAA;oBAA7B,EAAE;oBACX,qBAAM,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,cAAO,CAAC,CAAC,EAAA;;oBAA1D,SAA0D,CAAA;;;oBAD3C,IAAuB,CAAA;;;;;;;CAI3C,CAAA;AAxJY,QAAA,uBAAuB,2BAwJnC;AAED,6CAA6C;AAC7C,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;IAC3B,IAAM,KAAG,GAAG,IAAI,aAAO,CAAC,EAAE,IAAI,MAAA,EAAE,CAAC,CAAA;IACjC,IAAM,aAAW,GAAG,IAAI,aAAO,CAAC,EAAE,IAAI,MAAA,EAAE,CAAC,CAAA;IAEzC,IAAM,QAAQ,GAAG;;;wBACf,qBAAM,IAAA,mBAAW,EAAC,KAAG,EAAE,aAAW,CAAC,EAAA;;oBAAnC,SAAmC,CAAA;oBACnC,qBAAM,IAAA,+BAAuB,EAAC,EAAE,GAAG,OAAA,EAAE,WAAW,eAAA,EAAE,CAAC,EAAA;;oBAAnD,SAAmD,CAAA;;;;SACpD,CAAA;IAED,QAAQ,EAAE;SACP,IAAI,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,uDAAuD,CAAC,CAAA;QACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAC;SACD,KAAK,CAAC,UAAC,KAAK;QACX,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAA;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAC,CAAA;CACL"}
@@ -0,0 +1,6 @@
1
+ import { Session } from "../../sdk";
2
+ export declare const group_event_attendee_self_update_tests: ({ sdk }: {
3
+ sdk: Session;
4
+ sdkNonAdmin: Session;
5
+ }) => Promise<void>;
6
+ //# sourceMappingURL=group_event_attendee_self_update.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group_event_attendee_self_update.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/api_tests/group_event_attendee_self_update.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAkB,MAAM,WAAW,CAAA;AAWnD,eAAO,MAAM,sCAAsC;SAA2B,OAAO;iBAAe,OAAO;mBA6H1G,CAAA"}
@@ -0,0 +1,293 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
39
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
40
+ if (ar || !(i in from)) {
41
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
42
+ ar[i] = from[i];
43
+ }
44
+ }
45
+ return to.concat(ar || Array.prototype.slice.call(from));
46
+ };
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.group_event_attendee_self_update_tests = void 0;
49
+ require('source-map-support').install();
50
+ var sdk_1 = require("../../sdk");
51
+ var testing_1 = require("@tellescope/testing");
52
+ var setup_1 = require("../setup");
53
+ var host = process.env.API_URL || 'http://localhost:8080';
54
+ // An enduser attendee can PATCH a calendar_event (needed to self-cancel out of a group event), and
55
+ // attendeeStatuses / cancelledGroupAttendees are attendee-keyed arrays that drive per-attendee
56
+ // automation triggers (handle_attendee_status_change_triggers + event-wide completion). The
57
+ // calendar_events relationship constraint must let an enduser touch ONLY their own id's entry, so a
58
+ // patient cannot fire or suppress a co-attendee's Appointment triggers by patching the shared event.
59
+ var group_event_attendee_self_update_tests = function (_a) {
60
+ var sdk = _a.sdk;
61
+ return __awaiter(void 0, void 0, void 0, function () {
62
+ var createdEnduserIds, createdEventIds, createEnduser, enduserSession, createGroupEvent, attacker_1, victim_1, attackerSDK_1, e1_1, e2_1, e3_1, e4_1, e5_1, e6_1, e7_1, e7ForAttacker_1, e8_1, _i, createdEventIds_1, id, _1, _b, createdEnduserIds_1, id, _2;
63
+ return __generator(this, function (_c) {
64
+ switch (_c.label) {
65
+ case 0:
66
+ (0, testing_1.log_header)("Group Event Attendee Self-Update Constraint");
67
+ createdEnduserIds = [];
68
+ createdEventIds = [];
69
+ createEnduser = function (label) { return __awaiter(void 0, void 0, void 0, function () {
70
+ var e;
71
+ return __generator(this, function (_a) {
72
+ switch (_a.label) {
73
+ case 0: return [4 /*yield*/, sdk.api.endusers.createOne({ email: "attendee_self_update_".concat(label, "_").concat(Date.now(), "@test.tellescope.com") })];
74
+ case 1:
75
+ e = _a.sent();
76
+ createdEnduserIds.push(e.id);
77
+ return [2 /*return*/, e];
78
+ }
79
+ });
80
+ }); };
81
+ enduserSession = function (id) { return __awaiter(void 0, void 0, void 0, function () {
82
+ var _a, authToken, enduser;
83
+ return __generator(this, function (_b) {
84
+ switch (_b.label) {
85
+ case 0: return [4 /*yield*/, sdk.api.endusers.generate_auth_token({ id: id })];
86
+ case 1:
87
+ _a = _b.sent(), authToken = _a.authToken, enduser = _a.enduser;
88
+ return [2 /*return*/, new sdk_1.EnduserSession({ host: host, authToken: authToken, enduser: enduser, businessId: sdk.userInfo.businessId })];
89
+ }
90
+ });
91
+ }); };
92
+ createGroupEvent = function (attendeeIds) { return __awaiter(void 0, void 0, void 0, function () {
93
+ var event;
94
+ return __generator(this, function (_a) {
95
+ switch (_a.label) {
96
+ case 0: return [4 /*yield*/, sdk.api.calendar_events.createOne({
97
+ title: 'Attendee Self-Update Test',
98
+ durationInMinutes: 30,
99
+ startTimeInMS: Date.now() + Math.floor(Math.random() * 100000),
100
+ attendees: attendeeIds.map(function (id) { return ({ type: 'enduser', id: id }); }),
101
+ })];
102
+ case 1:
103
+ event = _a.sent();
104
+ createdEventIds.push(event.id);
105
+ return [2 /*return*/, event];
106
+ }
107
+ });
108
+ }); };
109
+ _c.label = 1;
110
+ case 1:
111
+ _c.trys.push([1, , 25, 38]);
112
+ return [4 /*yield*/, createEnduser('self')];
113
+ case 2:
114
+ attacker_1 = _c.sent();
115
+ return [4 /*yield*/, createEnduser('other')];
116
+ case 3:
117
+ victim_1 = _c.sent();
118
+ return [4 /*yield*/, enduserSession(attacker_1.id)
119
+ // ---- ALLOWED: self-cancel out of a fresh group event (the portal self-cancel path) ----
120
+ ];
121
+ case 4:
122
+ attackerSDK_1 = _c.sent();
123
+ return [4 /*yield*/, createGroupEvent([attacker_1.id, victim_1.id])];
124
+ case 5:
125
+ e1_1 = _c.sent();
126
+ return [4 /*yield*/, (0, testing_1.async_test)("enduser may add their OWN cancelledGroupAttendees entry (self-cancel)", function () { return attackerSDK_1.api.calendar_events.updateOne(e1_1.id, {
127
+ cancelledGroupAttendees: [{ id: attacker_1.id, at: new Date() }],
128
+ }, { replaceObjectFields: true }); }, testing_1.passOnAnyResult)
129
+ // ---- ALLOWED: set own attendeeStatuses entry ----
130
+ ];
131
+ case 6:
132
+ _c.sent();
133
+ return [4 /*yield*/, createGroupEvent([attacker_1.id, victim_1.id])];
134
+ case 7:
135
+ e2_1 = _c.sent();
136
+ return [4 /*yield*/, (0, testing_1.async_test)("enduser may set their OWN attendeeStatuses entry", function () { return attackerSDK_1.api.calendar_events.updateOne(e2_1.id, {
137
+ attendeeStatuses: [{ id: attacker_1.id, at: new Date(), status: 'Cancelled' }],
138
+ }, { replaceObjectFields: true }); }, testing_1.passOnAnyResult)
139
+ // ---- REJECTED: set a co-attendee's attendeeStatuses (would fire that patient's triggers) ----
140
+ ];
141
+ case 8:
142
+ _c.sent();
143
+ return [4 /*yield*/, createGroupEvent([attacker_1.id, victim_1.id])];
144
+ case 9:
145
+ e3_1 = _c.sent();
146
+ return [4 /*yield*/, (0, testing_1.async_test)("enduser may NOT set a co-attendee's attendeeStatuses entry", function () { return attackerSDK_1.api.calendar_events.updateOne(e3_1.id, {
147
+ attendeeStatuses: [{ id: victim_1.id, at: new Date(), status: 'No-showed' }],
148
+ }, { replaceObjectFields: true }); }, testing_1.handleAnyError)
149
+ // ---- REJECTED: set a co-attendee's cancelledGroupAttendees entry ----
150
+ ];
151
+ case 10:
152
+ _c.sent();
153
+ return [4 /*yield*/, createGroupEvent([attacker_1.id, victim_1.id])];
154
+ case 11:
155
+ e4_1 = _c.sent();
156
+ return [4 /*yield*/, (0, testing_1.async_test)("enduser may NOT set a co-attendee's cancelledGroupAttendees entry", function () { return attackerSDK_1.api.calendar_events.updateOne(e4_1.id, {
157
+ cancelledGroupAttendees: [{ id: victim_1.id, at: new Date() }],
158
+ }, { replaceObjectFields: true }); }, testing_1.handleAnyError)
159
+ // ---- REJECTED: drop a co-attendee's existing entry (would suppress their completion trigger) ----
160
+ ];
161
+ case 12:
162
+ _c.sent();
163
+ return [4 /*yield*/, createGroupEvent([attacker_1.id, victim_1.id])];
164
+ case 13:
165
+ e5_1 = _c.sent();
166
+ return [4 /*yield*/, sdk.api.calendar_events.updateOne(e5_1.id, {
167
+ attendeeStatuses: [{ id: victim_1.id, at: new Date(), status: 'Completed' }],
168
+ }, { replaceObjectFields: true })];
169
+ case 14:
170
+ _c.sent();
171
+ return [4 /*yield*/, (0, testing_1.async_test)("enduser may NOT remove a co-attendee's existing attendeeStatuses entry", function () { return attackerSDK_1.api.calendar_events.updateOne(e5_1.id, {
172
+ attendeeStatuses: [{ id: attacker_1.id, at: new Date(), status: 'Cancelled' }], // silently drops victim's entry
173
+ }, { replaceObjectFields: true }); }, testing_1.handleAnyError)
174
+ // ---- REJECTED: modify a co-attendee's existing entry ----
175
+ ];
176
+ case 15:
177
+ _c.sent();
178
+ return [4 /*yield*/, createGroupEvent([attacker_1.id, victim_1.id])];
179
+ case 16:
180
+ e6_1 = _c.sent();
181
+ return [4 /*yield*/, sdk.api.calendar_events.updateOne(e6_1.id, {
182
+ attendeeStatuses: [{ id: victim_1.id, at: new Date(), status: 'Completed' }],
183
+ }, { replaceObjectFields: true })];
184
+ case 17:
185
+ _c.sent();
186
+ return [4 /*yield*/, (0, testing_1.async_test)("enduser may NOT modify a co-attendee's existing attendeeStatuses entry", function () { return attackerSDK_1.api.calendar_events.updateOne(e6_1.id, {
187
+ attendeeStatuses: [{ id: victim_1.id, at: new Date(), status: 'No-showed' }],
188
+ }, { replaceObjectFields: true }); }, testing_1.handleAnyError)
189
+ // ---- ALLOWED: self-cancel while PRESERVING a co-attendee's existing entry (realistic group self-cancel) ----
190
+ ];
191
+ case 18:
192
+ _c.sent();
193
+ return [4 /*yield*/, createGroupEvent([attacker_1.id, victim_1.id])];
194
+ case 19:
195
+ e7_1 = _c.sent();
196
+ return [4 /*yield*/, sdk.api.calendar_events.updateOne(e7_1.id, {
197
+ cancelledGroupAttendees: [{ id: victim_1.id, at: new Date() }],
198
+ }, { replaceObjectFields: true })];
199
+ case 20:
200
+ _c.sent();
201
+ return [4 /*yield*/, attackerSDK_1.api.calendar_events.getOne(e7_1.id)];
202
+ case 21:
203
+ e7ForAttacker_1 = _c.sent();
204
+ return [4 /*yield*/, (0, testing_1.async_test)("enduser may self-cancel while preserving a co-attendee's existing entry", function () { return attackerSDK_1.api.calendar_events.updateOne(e7_1.id, {
205
+ cancelledGroupAttendees: __spreadArray(__spreadArray([], (e7ForAttacker_1.cancelledGroupAttendees || []), true), [{ id: attacker_1.id, at: new Date() }], false),
206
+ }, { replaceObjectFields: true }); }, testing_1.passOnAnyResult)
207
+ // ---- ALLOWED (baseline): staff may set any attendee's status (constraint is enduser-only) ----
208
+ ];
209
+ case 22:
210
+ _c.sent();
211
+ return [4 /*yield*/, createGroupEvent([attacker_1.id, victim_1.id])];
212
+ case 23:
213
+ e8_1 = _c.sent();
214
+ return [4 /*yield*/, (0, testing_1.async_test)("staff may set any attendee's status", function () { return sdk.api.calendar_events.updateOne(e8_1.id, {
215
+ attendeeStatuses: [{ id: victim_1.id, at: new Date(), status: 'No-showed' }],
216
+ }, { replaceObjectFields: true }); }, testing_1.passOnAnyResult)];
217
+ case 24:
218
+ _c.sent();
219
+ return [3 /*break*/, 38];
220
+ case 25:
221
+ _i = 0, createdEventIds_1 = createdEventIds;
222
+ _c.label = 26;
223
+ case 26:
224
+ if (!(_i < createdEventIds_1.length)) return [3 /*break*/, 31];
225
+ id = createdEventIds_1[_i];
226
+ _c.label = 27;
227
+ case 27:
228
+ _c.trys.push([27, 29, , 30]);
229
+ return [4 /*yield*/, sdk.api.calendar_events.deleteOne(id)];
230
+ case 28:
231
+ _c.sent();
232
+ return [3 /*break*/, 30];
233
+ case 29:
234
+ _1 = _c.sent();
235
+ return [3 /*break*/, 30];
236
+ case 30:
237
+ _i++;
238
+ return [3 /*break*/, 26];
239
+ case 31:
240
+ _b = 0, createdEnduserIds_1 = createdEnduserIds;
241
+ _c.label = 32;
242
+ case 32:
243
+ if (!(_b < createdEnduserIds_1.length)) return [3 /*break*/, 37];
244
+ id = createdEnduserIds_1[_b];
245
+ _c.label = 33;
246
+ case 33:
247
+ _c.trys.push([33, 35, , 36]);
248
+ return [4 /*yield*/, sdk.api.endusers.deleteOne(id)];
249
+ case 34:
250
+ _c.sent();
251
+ return [3 /*break*/, 36];
252
+ case 35:
253
+ _2 = _c.sent();
254
+ return [3 /*break*/, 36];
255
+ case 36:
256
+ _b++;
257
+ return [3 /*break*/, 32];
258
+ case 37: return [7 /*endfinally*/];
259
+ case 38: return [2 /*return*/];
260
+ }
261
+ });
262
+ });
263
+ };
264
+ exports.group_event_attendee_self_update_tests = group_event_attendee_self_update_tests;
265
+ // Allow running this test file independently
266
+ if (require.main === module) {
267
+ console.log("\uD83C\uDF10 Using API URL: ".concat(host));
268
+ var sdk_2 = new sdk_1.Session({ host: host });
269
+ var sdkNonAdmin_1 = new sdk_1.Session({ host: host });
270
+ var runTests = function () { return __awaiter(void 0, void 0, void 0, function () {
271
+ return __generator(this, function (_a) {
272
+ switch (_a.label) {
273
+ case 0: return [4 /*yield*/, (0, setup_1.setup_tests)(sdk_2, sdkNonAdmin_1)];
274
+ case 1:
275
+ _a.sent();
276
+ return [4 /*yield*/, (0, exports.group_event_attendee_self_update_tests)({ sdk: sdk_2, sdkNonAdmin: sdkNonAdmin_1 })];
277
+ case 2:
278
+ _a.sent();
279
+ return [2 /*return*/];
280
+ }
281
+ });
282
+ }); };
283
+ runTests()
284
+ .then(function () {
285
+ console.log("✅ Group event attendee self-update constraint tests completed successfully");
286
+ process.exit(0);
287
+ })
288
+ .catch(function (error) {
289
+ console.error("❌ Group event attendee self-update constraint tests failed:", error);
290
+ process.exit(1);
291
+ });
292
+ }
293
+ //# sourceMappingURL=group_event_attendee_self_update.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group_event_attendee_self_update.test.js","sourceRoot":"","sources":["../../../../src/tests/api_tests/group_event_attendee_self_update.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"group_event_attendee_status_triggers.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/api_tests/group_event_attendee_status_triggers.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAoBnC,eAAO,MAAM,0CAA0C;SAA2B,OAAO;iBAAe,OAAO;mBAkV9G,CAAA"}
1
+ {"version":3,"file":"group_event_attendee_status_triggers.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/api_tests/group_event_attendee_status_triggers.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAoBnC,eAAO,MAAM,0CAA0C;SAA2B,OAAO;iBAAe,OAAO;mBAyd9G,CAAA"}