@tellescope/sdk 1.69.3 → 1.69.5
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.
- package/lib/cjs/enduser.d.ts +0 -1
- package/lib/cjs/enduser.d.ts.map +1 -1
- package/lib/cjs/sdk.d.ts +2 -1
- package/lib/cjs/sdk.d.ts.map +1 -1
- package/lib/cjs/session.d.ts +0 -1
- package/lib/cjs/session.d.ts.map +1 -1
- package/lib/cjs/tests/tests.js +281 -59
- package/lib/cjs/tests/tests.js.map +1 -1
- package/lib/esm/enduser.d.ts +0 -1
- package/lib/esm/enduser.d.ts.map +1 -1
- package/lib/esm/sdk.d.ts +2 -1
- package/lib/esm/sdk.d.ts.map +1 -1
- package/lib/esm/session.d.ts +0 -1
- package/lib/esm/session.d.ts.map +1 -1
- package/lib/esm/tests/tests.js +281 -59
- package/lib/esm/tests/tests.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -8
- package/src/tests/tests.ts +126 -3
- package/test_generated.pdf +0 -0
package/src/tests/tests.ts
CHANGED
|
@@ -4220,7 +4220,7 @@ export const self_serve_appointment_booking_tests = async () => {
|
|
|
4220
4220
|
await sdk.api.users.updateOne(sdk.userInfo.id, {
|
|
4221
4221
|
weeklyAvailabilities: [
|
|
4222
4222
|
{
|
|
4223
|
-
dayOfWeekStartingSundayIndexedByZero,
|
|
4223
|
+
dayOfWeekStartingSundayIndexedByZero: 0,
|
|
4224
4224
|
startTimeInMinutes: 60 * 12, // noon,
|
|
4225
4225
|
endTimeInMinutes: 60 * 13, // 1pm,
|
|
4226
4226
|
},
|
|
@@ -4232,7 +4232,7 @@ export const self_serve_appointment_booking_tests = async () => {
|
|
|
4232
4232
|
await sdkNonAdmin.api.users.updateOne(sdkNonAdmin.userInfo.id, {
|
|
4233
4233
|
weeklyAvailabilities: [
|
|
4234
4234
|
{
|
|
4235
|
-
dayOfWeekStartingSundayIndexedByZero,
|
|
4235
|
+
dayOfWeekStartingSundayIndexedByZero: 0,
|
|
4236
4236
|
startTimeInMinutes: 60 * 12, // noon,
|
|
4237
4237
|
endTimeInMinutes: 60 * 14, // 2pm,
|
|
4238
4238
|
},
|
|
@@ -4245,7 +4245,7 @@ export const self_serve_appointment_booking_tests = async () => {
|
|
|
4245
4245
|
const multiSlots = await enduserSDK.api.calendar_events.get_appointment_availability({
|
|
4246
4246
|
calendarEventTemplateId: event30min.id,
|
|
4247
4247
|
from: new Date(Date.now()),
|
|
4248
|
-
to: new Date(Date.now() +
|
|
4248
|
+
to: new Date(Date.now() + 7 * 24 * 60 * 60 * 1000),
|
|
4249
4249
|
multi: true,
|
|
4250
4250
|
userIds: [sdk.userInfo.id, sdkNonAdmin.userInfo.id]
|
|
4251
4251
|
})
|
|
@@ -6065,6 +6065,128 @@ const test_weighted_round_robin = async () => {
|
|
|
6065
6065
|
})
|
|
6066
6066
|
}
|
|
6067
6067
|
|
|
6068
|
+
const enduser_access_tags_tests = async () => {
|
|
6069
|
+
log_header("enduser_access_tags_tests")
|
|
6070
|
+
|
|
6071
|
+
const matchTag = 'Access'
|
|
6072
|
+
const dontMatchTag = 'No Access'
|
|
6073
|
+
|
|
6074
|
+
const matchEnduser = await sdk.api.endusers.createOne({ accessTags: [matchTag]})
|
|
6075
|
+
const matchMultiTagEnduser = await sdk.api.endusers.createOne({ accessTags: [matchTag, dontMatchTag]})
|
|
6076
|
+
const dontMatchEnduser = await sdk.api.endusers.createOne({ accessTags: [dontMatchTag]})
|
|
6077
|
+
const matchTicket = await sdk.api.tickets.createOne({ enduserId: matchEnduser.id, title: 'ticket' })
|
|
6078
|
+
const dontMatchTicket = await sdk.api.tickets.createOne({ enduserId: dontMatchEnduser.id, title: 'ticket' })
|
|
6079
|
+
|
|
6080
|
+
// start with disabled setting an no tags on non-admin
|
|
6081
|
+
await sdk.api.users.updateOne(sdkNonAdmin.userInfo.id, { tags: [] }, { replaceObjectFields: true })
|
|
6082
|
+
await sdk.api.organizations.updateOne(sdkNonAdmin.userInfo.businessId, {
|
|
6083
|
+
settings: { endusers: { enableAccessTags: false } }
|
|
6084
|
+
})
|
|
6085
|
+
await sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword) // ensure enableAccessTags setting stored correctly on jwt
|
|
6086
|
+
await async_test(`Setting disabled, no tags, list`, sdkNonAdmin.api.endusers.getSome, { onResult: r => r.length === 0 })
|
|
6087
|
+
await async_test(`Setting disabled, matchEnduser`, () => sdkNonAdmin.api.endusers.getOne(matchEnduser.id), handleAnyError)
|
|
6088
|
+
await async_test(`Setting disabled, dontMatchEnduser`, () => sdkNonAdmin.api.endusers.getOne(dontMatchEnduser.id), handleAnyError)
|
|
6089
|
+
await async_test(`Setting disabled, no tags, tickets`, sdkNonAdmin.api.tickets.getSome, { onResult: r => r.length === 0 })
|
|
6090
|
+
await async_test(`Setting disabled, matchEnduser ticket`, () => sdkNonAdmin.api.tickets.getOne(matchTicket.id), handleAnyError)
|
|
6091
|
+
await async_test(`Setting disabled, dontMatchEnduser ticket`, () => sdkNonAdmin.api.tickets.getOne(dontMatchTicket.id), handleAnyError)
|
|
6092
|
+
await async_test(
|
|
6093
|
+
`tickets filter enduser valid`,
|
|
6094
|
+
() => sdkNonAdmin.api.tickets.getSome({ filter: { enduserId: matchEnduser.id }}), {
|
|
6095
|
+
onResult: r => r.length === 0
|
|
6096
|
+
})
|
|
6097
|
+
await async_test(
|
|
6098
|
+
`tickets filter enduser invalid`,
|
|
6099
|
+
() => sdkNonAdmin.api.tickets.getSome({ filter: { enduserId: dontMatchEnduser.id }}), {
|
|
6100
|
+
onResult: r => r.length === 0
|
|
6101
|
+
})
|
|
6102
|
+
|
|
6103
|
+
|
|
6104
|
+
// enable setting, disable tags
|
|
6105
|
+
await sdk.api.organizations.updateOne(sdkNonAdmin.userInfo.businessId, {
|
|
6106
|
+
settings: { endusers: { enableAccessTags: true } }
|
|
6107
|
+
})
|
|
6108
|
+
await sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword) // ensure enableAccessTags setting stored correctly on jwt
|
|
6109
|
+
await async_test(`enable setting, disable tags`, sdkNonAdmin.api.endusers.getSome, { onResult: r => r.length === 0 })
|
|
6110
|
+
await async_test(`enable setting, matchEnduser`, () => sdkNonAdmin.api.endusers.getOne(matchEnduser.id), handleAnyError)
|
|
6111
|
+
await async_test(`enable setting, dontMatchEnduser`, () => sdkNonAdmin.api.endusers.getOne(dontMatchEnduser.id), handleAnyError)
|
|
6112
|
+
await async_test(`enable setting, no tags, tickets`, sdkNonAdmin.api.tickets.getSome, { onResult: r => r.length === 0 })
|
|
6113
|
+
await async_test(`enable setting, matchEnduser ticket`, () => sdkNonAdmin.api.tickets.getOne(matchTicket.id), handleAnyError)
|
|
6114
|
+
await async_test(`enable setting, dontMatchEnduser ticket`, () => sdkNonAdmin.api.tickets.getOne(dontMatchTicket.id), handleAnyError)
|
|
6115
|
+
await async_test(
|
|
6116
|
+
`tickets filter enduser valid`,
|
|
6117
|
+
() => sdkNonAdmin.api.tickets.getSome({ filter: { enduserId: matchEnduser.id }}), {
|
|
6118
|
+
onResult: r => r.length === 0
|
|
6119
|
+
})
|
|
6120
|
+
await async_test(
|
|
6121
|
+
`tickets filter enduser invalid`,
|
|
6122
|
+
() => sdkNonAdmin.api.tickets.getSome({ filter: { enduserId: dontMatchEnduser.id }}), {
|
|
6123
|
+
onResult: r => r.length === 0
|
|
6124
|
+
})
|
|
6125
|
+
|
|
6126
|
+
|
|
6127
|
+
// disable setting, enable tags
|
|
6128
|
+
await sdk.api.users.updateOne(sdkNonAdmin.userInfo.id, { tags: [matchTag] }, { replaceObjectFields: true })
|
|
6129
|
+
await sdk.api.organizations.updateOne(sdkNonAdmin.userInfo.businessId, {
|
|
6130
|
+
settings: { endusers: { enableAccessTags: false } }
|
|
6131
|
+
})
|
|
6132
|
+
await sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword) // ensure enableAccessTags setting stored correctly on jwt
|
|
6133
|
+
await async_test(`disable setting, enable tags`, sdkNonAdmin.api.endusers.getSome, { onResult: r => r.length === 0 })
|
|
6134
|
+
await async_test(`disable setting, matchEnduser`, () => sdkNonAdmin.api.endusers.getOne(matchEnduser.id), handleAnyError)
|
|
6135
|
+
await async_test(`disable setting, dontMatchEnduser`, () => sdkNonAdmin.api.endusers.getOne(dontMatchEnduser.id), handleAnyError)
|
|
6136
|
+
await async_test(`disable setting, enable tags, tickets`, sdkNonAdmin.api.tickets.getSome, { onResult: r => r.length === 0 })
|
|
6137
|
+
await async_test(`disable setting, matchEnduser ticket`, () => sdkNonAdmin.api.tickets.getOne(matchTicket.id), handleAnyError)
|
|
6138
|
+
await async_test(`disable setting, dontMatchEnduser ticket`, () => sdkNonAdmin.api.tickets.getOne(dontMatchTicket.id), handleAnyError)
|
|
6139
|
+
await async_test(
|
|
6140
|
+
`tickets filter enduser valid`,
|
|
6141
|
+
() => sdkNonAdmin.api.tickets.getSome({ filter: { enduserId: matchEnduser.id }}), {
|
|
6142
|
+
onResult: r => r.length === 0
|
|
6143
|
+
})
|
|
6144
|
+
await async_test(
|
|
6145
|
+
`tickets filter enduser invalid`,
|
|
6146
|
+
() => sdkNonAdmin.api.tickets.getSome({ filter: { enduserId: dontMatchEnduser.id }}), {
|
|
6147
|
+
onResult: r => r.length === 0
|
|
6148
|
+
})
|
|
6149
|
+
|
|
6150
|
+
|
|
6151
|
+
// enabled setting AND tags (keeps tags enabled)
|
|
6152
|
+
await sdk.api.organizations.updateOne(sdkNonAdmin.userInfo.businessId, {
|
|
6153
|
+
settings: { endusers: { enableAccessTags: true } }
|
|
6154
|
+
})
|
|
6155
|
+
await sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword) // ensure enableAccessTags setting stored correctly on jwt
|
|
6156
|
+
await async_test(`Access by tag with setting works`, sdkNonAdmin.api.endusers.getSome, {
|
|
6157
|
+
onResult: r => r.length === 2 && !r.find(e => e.id === dontMatchEnduser.id)
|
|
6158
|
+
})
|
|
6159
|
+
await async_test(`access matchEnduser`, () => sdkNonAdmin.api.endusers.getOne(matchEnduser.id), passOnAnyResult)
|
|
6160
|
+
await async_test(`access dontMatchEnduser bad`, () => sdkNonAdmin.api.endusers.getOne(dontMatchEnduser.id), handleAnyError)
|
|
6161
|
+
await async_test(`access setting, no tags, tickets`, sdkNonAdmin.api.tickets.getSome, {
|
|
6162
|
+
onResult: r => r.length === 1 && !r.find(t => t.id === dontMatchTicket.id)
|
|
6163
|
+
})
|
|
6164
|
+
await async_test(`access, matchEnduser ticket`, () => sdkNonAdmin.api.tickets.getOne(matchTicket.id), passOnAnyResult)
|
|
6165
|
+
await async_test(`access, dontMatchEnduser ticket`, () => sdkNonAdmin.api.tickets.getOne(dontMatchTicket.id), handleAnyError)
|
|
6166
|
+
await async_test(
|
|
6167
|
+
`tickets filter enduser valid`,
|
|
6168
|
+
() => sdkNonAdmin.api.tickets.getSome({ filter: { enduserId: matchEnduser.id }}), {
|
|
6169
|
+
onResult: r => r.length === 1
|
|
6170
|
+
})
|
|
6171
|
+
await async_test(
|
|
6172
|
+
`tickets filter enduser invalid`,
|
|
6173
|
+
() => sdkNonAdmin.api.tickets.getSome({ filter: { enduserId: dontMatchEnduser.id }}), {
|
|
6174
|
+
onResult: r => r.length === 0
|
|
6175
|
+
})
|
|
6176
|
+
|
|
6177
|
+
// cleanup
|
|
6178
|
+
await sdk.api.organizations.updateOne(sdkNonAdmin.userInfo.businessId, {
|
|
6179
|
+
settings: { endusers: { enableAccessTags: false } }
|
|
6180
|
+
})
|
|
6181
|
+
await sdk.api.users.updateOne(sdkNonAdmin.userInfo.id, { tags: [] }, { replaceObjectFields: true })
|
|
6182
|
+
await sdkNonAdmin.refresh_session()
|
|
6183
|
+
await Promise.all([
|
|
6184
|
+
sdk.api.endusers.deleteOne(matchEnduser.id),
|
|
6185
|
+
sdk.api.endusers.deleteOne(matchMultiTagEnduser.id),
|
|
6186
|
+
sdk.api.endusers.deleteOne(dontMatchEnduser.id),
|
|
6187
|
+
])
|
|
6188
|
+
}
|
|
6189
|
+
|
|
6068
6190
|
(async () => {
|
|
6069
6191
|
log_header("API")
|
|
6070
6192
|
|
|
@@ -6105,6 +6227,7 @@ const test_weighted_round_robin = async () => {
|
|
|
6105
6227
|
await mfa_tests()
|
|
6106
6228
|
await setup_tests()
|
|
6107
6229
|
await multi_tenant_tests() // should come right after setup tests
|
|
6230
|
+
await enduser_access_tags_tests()
|
|
6108
6231
|
await self_serve_appointment_booking_tests()
|
|
6109
6232
|
await alternate_phones_tests()
|
|
6110
6233
|
await ticket_queue_tests()
|
package/test_generated.pdf
CHANGED
|
Binary file
|