@antelopejs/dms 0.4.5 → 0.4.6
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/CHANGELOG.md +27 -0
- package/dist/hooks/invite-extensions.js +2 -2
- package/dist/hooks/invite-extensions.js.map +1 -1
- package/dist/implementations/dms/layout-banners.d.ts +18 -0
- package/dist/implementations/dms/layout-banners.js +60 -0
- package/dist/implementations/dms/layout-banners.js.map +1 -0
- package/dist/implementations/dms/page.d.ts +2 -0
- package/dist/implementations/dms/page.js +82 -27
- package/dist/implementations/dms/page.js.map +1 -1
- package/dist/implementations/dms/quick-actions.d.ts +5 -0
- package/dist/implementations/dms/quick-actions.js.map +1 -1
- package/dist/implementations/dms/resolver-timeout.d.ts +1 -0
- package/dist/implementations/dms/resolver-timeout.js +13 -0
- package/dist/implementations/dms/resolver-timeout.js.map +1 -0
- package/dist/implementations/dms/saas-mode.d.ts +8 -0
- package/dist/implementations/dms/saas-mode.js +20 -0
- package/dist/implementations/dms/saas-mode.js.map +1 -0
- package/dist/implementations/dms-auth/index.d.ts +2 -1
- package/dist/implementations/dms-auth/index.js +19 -8
- package/dist/implementations/dms-auth/index.js.map +1 -1
- package/dist/implementations/dms-html-render/service-jwt.js +2 -1
- package/dist/implementations/dms-html-render/service-jwt.js.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/pages/settings/users/index.d.ts +1 -0
- package/dist/pages/settings/users/index.js +1 -0
- package/dist/pages/settings/users/index.js.map +1 -1
- package/dist/pages/settings/users/invite-extension-routes.d.ts +4 -0
- package/dist/pages/settings/users/invite-extension-routes.js +57 -0
- package/dist/pages/settings/users/invite-extension-routes.js.map +1 -0
- package/dist/pages/settings/users/invites.d.ts +2 -1
- package/dist/pages/settings/users/invites.js +17 -5
- package/dist/pages/settings/users/invites.js.map +1 -1
- package/dist/pages/settings/users/members.d.ts +4 -1
- package/dist/pages/settings/users/members.js +10 -6
- package/dist/pages/settings/users/members.js.map +1 -1
- package/dist/pages/settings/users/notifications.js +1 -1
- package/dist/pages/settings/users/notifications.js.map +1 -1
- package/dist/pages/settings/users/quick-actions.d.ts +1 -0
- package/dist/pages/settings/users/quick-actions.js +22 -0
- package/dist/pages/settings/users/quick-actions.js.map +1 -0
- package/dist/routes/auth/signup.d.ts +2 -0
- package/dist/routes/auth/signup.js +7 -2
- package/dist/routes/auth/signup.js.map +1 -1
- package/dist/test/integration/invite-extension-edit.test.d.ts +1 -0
- package/dist/test/integration/invite-extension-edit.test.js +122 -0
- package/dist/test/integration/invite-extension-edit.test.js.map +1 -0
- package/dist/test/integration/saas-mode-ownership.test.d.ts +1 -0
- package/dist/test/integration/saas-mode-ownership.test.js +81 -0
- package/dist/test/integration/saas-mode-ownership.test.js.map +1 -0
- package/dist/test/integration/tenant-lifecycle.test.js +38 -0
- package/dist/test/integration/tenant-lifecycle.test.js.map +1 -1
- package/dist/test/unit/implementations/dms/layout-banners.test.d.ts +1 -0
- package/dist/test/unit/implementations/dms/layout-banners.test.js +217 -0
- package/dist/test/unit/implementations/dms/layout-banners.test.js.map +1 -0
- package/dist/test/unit/implementations/dms/quick-actions-button.test.d.ts +1 -0
- package/dist/test/unit/implementations/dms/quick-actions-button.test.js +220 -0
- package/dist/test/unit/implementations/dms/quick-actions-button.test.js.map +1 -0
- package/dist/test/unit/implementations/dms-html-render/generate-html.test.js +1 -1
- package/dist/test/unit/implementations/dms-html-render/generate-html.test.js.map +1 -1
- package/dist/test/unit/implementations/dms-html-render/service-jwt.test.d.ts +1 -0
- package/dist/test/unit/implementations/dms-html-render/service-jwt.test.js +37 -0
- package/dist/test/unit/implementations/dms-html-render/service-jwt.test.js.map +1 -0
- package/dist/test/unit/interfaces/dms/invite-extension.test.js +138 -12
- package/dist/test/unit/interfaces/dms/invite-extension.test.js.map +1 -1
- package/dist/test/unit/interfaces/dms/saas-mode.test.d.ts +1 -0
- package/dist/test/unit/interfaces/dms/saas-mode.test.js +42 -0
- package/dist/test/unit/interfaces/dms/saas-mode.test.js.map +1 -0
- package/dist/test/unit/interfaces/dms/tenant-invite-email.test.d.ts +1 -0
- package/dist/test/unit/interfaces/dms/tenant-invite-email.test.js +53 -0
- package/dist/test/unit/interfaces/dms/tenant-invite-email.test.js.map +1 -0
- package/dist/test/unit/interfaces/dms-base/table-view-form-slots.test.d.ts +1 -0
- package/dist/test/unit/interfaces/dms-base/table-view-form-slots.test.js +80 -0
- package/dist/test/unit/interfaces/dms-base/table-view-form-slots.test.js.map +1 -0
- package/dist/test/unit/pages/settings/invite-member-quick-action.test.d.ts +1 -0
- package/dist/test/unit/pages/settings/invite-member-quick-action.test.js +104 -0
- package/dist/test/unit/pages/settings/invite-member-quick-action.test.js.map +1 -0
- package/dist/test/unit/pages/settings/notifications-access-gate.test.d.ts +1 -0
- package/dist/test/unit/pages/settings/notifications-access-gate.test.js +78 -0
- package/dist/test/unit/pages/settings/notifications-access-gate.test.js.map +1 -0
- package/dist/test/unit/signup-account-guard.test.js +20 -2
- package/dist/test/unit/signup-account-guard.test.js.map +1 -1
- package/dist/test/unit/utils/admin-invite-email.test.d.ts +1 -0
- package/dist/test/unit/utils/admin-invite-email.test.js +69 -0
- package/dist/test/unit/utils/admin-invite-email.test.js.map +1 -0
- package/dist/utils/admin-invite-email.d.ts +14 -0
- package/dist/utils/admin-invite-email.js +51 -0
- package/dist/utils/admin-invite-email.js.map +1 -0
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/index.js +0 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/validation/auth.schema.d.ts +3 -3
- package/dist/validation/auth.schema.js +1 -1
- package/dist/validation/auth.schema.js.map +1 -1
- package/frontend-vue/layers/dms-auth/app/custom-pages/auth/signup.vue +37 -8
- package/frontend-vue/layers/dms-auth/i18n/locales/auth-en-GB.json +3 -1
- package/frontend-vue/layers/dms-auth/i18n/locales/auth-fr-FR.json +3 -1
- package/frontend-vue/layers/dms-layout/app/build/components/layout/DashboardBanners.vue +50 -0
- package/frontend-vue/layers/dms-layout/app/build/components/layout/DashboardHeader.vue +16 -13
- package/frontend-vue/layers/dms-layout/app/build/components/layout/DashboardSidebar.vue +2 -2
- package/frontend-vue/layers/dms-layout/app/build/components/notification/NotificationPopover.vue +11 -5
- package/frontend-vue/layers/dms-layout/app/build/components/notification/widgetRequest.ts +20 -0
- package/frontend-vue/layers/dms-layout/app/composables/layout/useLayoutBanners.ts +59 -0
- package/frontend-vue/layers/dms-layout/app/composables/page/useQuickActions.ts +15 -2
- package/frontend-vue/layers/dms-layout/app/custom-layouts/DefaultLayout.vue +2 -0
- package/frontend-vue/layers/dms-layout/app/emails/EmailAdminInvite.vue +54 -9
- package/frontend-vue/layers/dms-layout/app/error.vue +17 -2
- package/frontend-vue/layers/dms-layout/app/types/page.ts +22 -0
- package/frontend-vue/layers/dms-layout/app/utils/breadcrumb.ts +48 -0
- package/frontend-vue/layers/dms-layout/app/utils/favorites.ts +94 -0
- package/frontend-vue/layers/dms-layout/i18n/locales/layout-en-GB.json +21 -2
- package/frontend-vue/layers/dms-layout/i18n/locales/layout-fr-FR.json +21 -2
- package/frontend-vue/layers/dms-onboarding/app/composables/onboarding/index.ts +1 -1
- package/frontend-vue/layers/dms-onboarding/app/composables/onboarding/{useOnboardingMiddleware.ts → useOnboarding.ts} +0 -12
- package/frontend-vue/layers/dms-onboarding/app/custom-pages/onboarding.vue +4 -1
- package/frontend-vue/layers/dms-onboarding/app/middleware/onboarding.global.ts +21 -4
- package/frontend-vue/layers/dms-ui/app/build/components/containers/drawer/DynamicDrawer.vue +13 -3
- package/frontend-vue/layers/dms-ui/app/build/components/containers/modal/DynamicModal.vue +13 -3
- package/frontend-vue/layers/dms-ui/app/build/composables/table-view/useTableViewConfig.ts +2 -7
- package/frontend-vue/layers/dms-ui/app/build/composables/table-view/utils/columnVisibility.ts +13 -0
- package/frontend-vue/layers/dms-ui/app/components/PasswordStrength.vue +1 -1
- package/frontend-vue/layers/dms-ui/app/components/activity/ActivityItem.vue +1 -1
- package/frontend-vue/layers/dms-ui/app/components/banner/Banner.vue +1 -1
- package/frontend-vue/layers/dms-ui/app/components/card/NavCard.vue +2 -2
- package/frontend-vue/layers/dms-ui/app/components/chart/Chart.vue +6 -16
- package/frontend-vue/layers/dms-ui/app/components/chart/ChartCard.vue +2 -2
- package/frontend-vue/layers/dms-ui/app/components/chart/internal/TrendBadge.vue +1 -1
- package/frontend-vue/layers/dms-ui/app/components/copy/CopyButton.vue +1 -1
- package/frontend-vue/layers/dms-ui/app/components/kpi/KpiCard.vue +3 -3
- package/frontend-vue/layers/dms-ui/app/components/master-detail/MasterDetail.vue +5 -1
- package/frontend-vue/layers/dms-ui/app/components/segmented/Segmented.vue +1 -1
- package/frontend-vue/layers/dms-ui/app/components/status/StatusSummary.vue +1 -1
- package/frontend-vue/layers/dms-ui/app/components/table-view/TableView.vue +33 -10
- package/frontend-vue/layers/dms-ui/app/composables/chart/donutRecords.ts +26 -0
- package/frontend-vue/layers/dms-ui/app/composables/tab/types/props.ts +4 -2
- package/frontend-vue/layers/dms-ui/app/composables/tab/useTab.ts +3 -3
- package/frontend-vue/layers/dms-ui/app/composables/table-view/types/column.ts +1 -1
- package/frontend-vue/layers/dms-ui/app/composables/table-view/types/custom-button.ts +2 -0
- package/frontend-vue/layers/dms-ui/app/types/quick-actions.ts +38 -3
- package/frontend-vue/tests/admin-invite-email.test.ts +86 -0
- package/frontend-vue/tests/breadcrumb-target.test.ts +50 -0
- package/frontend-vue/tests/chart-nested-donut.test.ts +97 -0
- package/frontend-vue/tests/error-page-message.test.ts +83 -0
- package/frontend-vue/tests/favorite-page.test.ts +104 -0
- package/frontend-vue/tests/icon-aria-hidden.test.ts +29 -0
- package/frontend-vue/tests/layout-banners.test.ts +224 -0
- package/frontend-vue/tests/notification-popover-errors.test.ts +147 -0
- package/frontend-vue/tests/onboarding-middleware.test.ts +103 -0
- package/frontend-vue/tests/password-strength-meter.test.ts +33 -0
- package/frontend-vue/tests/quick-action-intent.test.ts +74 -0
- package/frontend-vue/tests/quick-actions.test.ts +23 -0
- package/frontend-vue/tests/signup-invitation-link.test.ts +126 -0
- package/frontend-vue/tests/skeleton-paragraph.test.ts +30 -0
- package/frontend-vue/tests/tab-without-component-id.test.ts +51 -0
- package/frontend-vue/tests/table-column-visibility.test.ts +20 -0
- package/frontend-vue/tests/vue-inventory.test.ts +1 -1
- package/package.json +2 -2
- package/skills/dms/REFERENCE.md +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
const interface_core_1 = require("@antelopejs/interface-core");
|
|
37
|
+
const chai_1 = require("chai");
|
|
38
|
+
const page_1 = require("../../../../implementations/dms/page");
|
|
39
|
+
const permissionsImpl = __importStar(require("../../../../implementations/dms/permissions"));
|
|
40
|
+
const permissionsResolverImpl = __importStar(require("../../../../implementations/dms/permissions-resolver"));
|
|
41
|
+
const quickActionsImpl = __importStar(require("../../../../implementations/dms/quick-actions"));
|
|
42
|
+
const tenantAccessImpl = __importStar(require("../../../../implementations/dms/tenant-access"));
|
|
43
|
+
const page_2 = require("@antelopejs/interface-dms/page");
|
|
44
|
+
const permissionsInterface = __importStar(require("@antelopejs/interface-dms/permissions"));
|
|
45
|
+
const permissionsResolverInterface = __importStar(require("@antelopejs/interface-dms/permissions-resolver"));
|
|
46
|
+
const quick_actions_1 = require("@antelopejs/interface-dms/quick-actions");
|
|
47
|
+
const tenantAccessInterface = __importStar(require("@antelopejs/interface-dms/tenant-access"));
|
|
48
|
+
const custom_1 = require("@antelopejs/interface-dms/base/custom");
|
|
49
|
+
const page_access_1 = require("../../../helpers/page-access");
|
|
50
|
+
const ALLOWED_TENANT = "qb-allowed-tenant";
|
|
51
|
+
const DENIED_TENANT = "qb-denied-tenant";
|
|
52
|
+
const CATEGORY_ID = "qb-category";
|
|
53
|
+
const INVITE_BUTTON = "invite";
|
|
54
|
+
const gateInfo = (0, page_access_1.denyingTenantGate)("qb-gate", DENIED_TENANT, "qb.suspended");
|
|
55
|
+
function componentWithButton(name, permission) {
|
|
56
|
+
const component = (0, custom_1.CustomComponent)(name).meta({ name });
|
|
57
|
+
component.action("add", { title: "Add" });
|
|
58
|
+
component.button(INVITE_BUTTON, { permission });
|
|
59
|
+
return component;
|
|
60
|
+
}
|
|
61
|
+
class PageQbGated extends (0, page_2.PageController)("qb-gated", {
|
|
62
|
+
displayName: "Gated button",
|
|
63
|
+
category: page_2.pagesCategory,
|
|
64
|
+
}) {
|
|
65
|
+
static table = componentWithButton("QbGatedTable", "add");
|
|
66
|
+
}
|
|
67
|
+
class PageQbOpen extends (0, page_2.PageController)("qb-open", {
|
|
68
|
+
displayName: "Open button",
|
|
69
|
+
category: page_2.pagesCategory,
|
|
70
|
+
}) {
|
|
71
|
+
static table = componentWithButton("QbOpenTable");
|
|
72
|
+
}
|
|
73
|
+
class PageQbForeign extends (0, page_2.PageController)("qb-foreign", {
|
|
74
|
+
displayName: "Foreign permission",
|
|
75
|
+
category: page_2.pagesCategory,
|
|
76
|
+
}) {
|
|
77
|
+
static table = componentWithButton("QbForeignTable", PageQbGated.table.getAction("add"));
|
|
78
|
+
}
|
|
79
|
+
class PageQbAmbiguous extends (0, page_2.PageController)("qb-ambiguous", {
|
|
80
|
+
displayName: "Ambiguous button",
|
|
81
|
+
category: page_2.pagesCategory,
|
|
82
|
+
}) {
|
|
83
|
+
static first = componentWithButton("QbFirst");
|
|
84
|
+
static second = componentWithButton("QbSecond");
|
|
85
|
+
}
|
|
86
|
+
class PageQbRecovery extends (0, page_2.PageController)("qb-recovery", {
|
|
87
|
+
displayName: "Recovery",
|
|
88
|
+
category: page_2.pagesCategory,
|
|
89
|
+
bypassTenantAccessGate: true,
|
|
90
|
+
}) {
|
|
91
|
+
static table = componentWithButton("QbRecoveryTable", "add");
|
|
92
|
+
}
|
|
93
|
+
const TARGETS = {
|
|
94
|
+
"qb-gated": { type: "button", page: PageQbGated, button: INVITE_BUTTON },
|
|
95
|
+
"qb-open": { type: "button", page: PageQbOpen, button: INVITE_BUTTON },
|
|
96
|
+
"qb-foreign": { type: "button", page: PageQbForeign, button: INVITE_BUTTON },
|
|
97
|
+
"qb-unknown": { type: "button", page: PageQbOpen, button: "no-such-button" },
|
|
98
|
+
"qb-ambiguous": {
|
|
99
|
+
type: "button",
|
|
100
|
+
page: PageQbAmbiguous,
|
|
101
|
+
button: INVITE_BUTTON,
|
|
102
|
+
},
|
|
103
|
+
"qb-named": {
|
|
104
|
+
type: "button",
|
|
105
|
+
page: PageQbAmbiguous,
|
|
106
|
+
button: INVITE_BUTTON,
|
|
107
|
+
component: PageQbAmbiguous.second,
|
|
108
|
+
},
|
|
109
|
+
"qb-recovery": {
|
|
110
|
+
type: "button",
|
|
111
|
+
page: PageQbRecovery,
|
|
112
|
+
button: INVITE_BUTTON,
|
|
113
|
+
},
|
|
114
|
+
};
|
|
115
|
+
async function actionsFor(grantedPermissions, tenantId = ALLOWED_TENANT) {
|
|
116
|
+
const { memberModel, roleModel } = (0, page_access_1.stubPageAccessModels)(grantedPermissions);
|
|
117
|
+
const payload = await (0, page_1.buildSiteLayoutPayload)({ _id: "qb-member" }, memberModel, roleModel, tenantId);
|
|
118
|
+
return payload.quickActions.actions;
|
|
119
|
+
}
|
|
120
|
+
async function registerPage(page, components) {
|
|
121
|
+
const meta = (0, interface_core_1.GetMetadata)(page, page_2.PageMetadata);
|
|
122
|
+
for (const [key, component] of Object.entries(components)) {
|
|
123
|
+
meta.SetComponent(key, component);
|
|
124
|
+
}
|
|
125
|
+
return (0, page_access_1.registerTestPage)(page);
|
|
126
|
+
}
|
|
127
|
+
function actionKey(id) {
|
|
128
|
+
return `${CATEGORY_ID}:${id}`;
|
|
129
|
+
}
|
|
130
|
+
describe("[unit] implementations/dms/quick-actions — button targets", () => {
|
|
131
|
+
const cleanups = [];
|
|
132
|
+
before(async () => {
|
|
133
|
+
(0, interface_core_1.ImplementInterface)(permissionsInterface, permissionsImpl);
|
|
134
|
+
(0, interface_core_1.ImplementInterface)(permissionsResolverInterface, permissionsResolverImpl);
|
|
135
|
+
(0, interface_core_1.ImplementInterface)(tenantAccessInterface, tenantAccessImpl);
|
|
136
|
+
(0, interface_core_1.ImplementInterface)(page_2.internal, page_1.internal);
|
|
137
|
+
(0, interface_core_1.ImplementInterface)(quick_actions_1.internal, quickActionsImpl.internal);
|
|
138
|
+
for (const page of [
|
|
139
|
+
PageQbGated,
|
|
140
|
+
PageQbOpen,
|
|
141
|
+
PageQbForeign,
|
|
142
|
+
PageQbRecovery,
|
|
143
|
+
]) {
|
|
144
|
+
cleanups.push(await registerPage(page, { table: page.table }));
|
|
145
|
+
}
|
|
146
|
+
cleanups.push(await registerPage(PageQbAmbiguous, {
|
|
147
|
+
first: PageQbAmbiguous.first,
|
|
148
|
+
second: PageQbAmbiguous.second,
|
|
149
|
+
}));
|
|
150
|
+
const category = (0, quick_actions_1.QuickActionCategory)(CATEGORY_ID, {
|
|
151
|
+
displayName: "Buttons",
|
|
152
|
+
});
|
|
153
|
+
const registered = Object.entries(TARGETS).map(([id, target]) => (0, quick_actions_1.QuickAction)(id, {
|
|
154
|
+
category,
|
|
155
|
+
displayName: id,
|
|
156
|
+
icon: "i-ph-plus",
|
|
157
|
+
target,
|
|
158
|
+
}));
|
|
159
|
+
for (const info of registered) {
|
|
160
|
+
cleanups.push(() => quick_actions_1.internal.RegisterQuickAction.unregister(info));
|
|
161
|
+
}
|
|
162
|
+
cleanups.push(() => quick_actions_1.internal.RegisterQuickActionCategory.unregister(category));
|
|
163
|
+
tenantAccessInterface.RegisterTenantAccessGate(gateInfo);
|
|
164
|
+
});
|
|
165
|
+
after(() => {
|
|
166
|
+
tenantAccessInterface.internal.RegisterTenantAccessGate.unregister(gateInfo);
|
|
167
|
+
for (const cleanup of cleanups.splice(0)) {
|
|
168
|
+
cleanup();
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
it("serves the button's page, component and id to a caller holding its permission", async () => {
|
|
172
|
+
const actions = await actionsFor([
|
|
173
|
+
"pages.qb-gated",
|
|
174
|
+
"pages.qb-gated.table.add",
|
|
175
|
+
]);
|
|
176
|
+
(0, chai_1.expect)(actions[actionKey("qb-gated")]?.target).to.deep.equal({
|
|
177
|
+
type: "button",
|
|
178
|
+
to: "/qb-gated",
|
|
179
|
+
component: "table",
|
|
180
|
+
button: INVITE_BUTTON,
|
|
181
|
+
});
|
|
182
|
+
});
|
|
183
|
+
it("is left out for a caller who reaches the page but may not press the button", async () => {
|
|
184
|
+
const actions = await actionsFor(["pages.qb-gated"]);
|
|
185
|
+
(0, chai_1.expect)(actions).to.not.have.property(actionKey("qb-gated"));
|
|
186
|
+
});
|
|
187
|
+
it("is left out for a caller who cannot reach the page, whatever the button allows", async () => {
|
|
188
|
+
const actions = await actionsFor(["pages.qb-gated.table.add"]);
|
|
189
|
+
(0, chai_1.expect)(actions).to.not.have.property(actionKey("qb-gated"));
|
|
190
|
+
});
|
|
191
|
+
it("follows the page alone for a button that declares no permission", async () => {
|
|
192
|
+
const actions = await actionsFor(["pages.qb-open"]);
|
|
193
|
+
(0, chai_1.expect)(actions).to.have.property(actionKey("qb-open"));
|
|
194
|
+
});
|
|
195
|
+
it("resolves a button gated by another component's action", async () => {
|
|
196
|
+
const withoutIt = await actionsFor(["pages.qb-foreign"]);
|
|
197
|
+
const withIt = await actionsFor([
|
|
198
|
+
"pages.qb-foreign",
|
|
199
|
+
"pages.qb-gated.table.add",
|
|
200
|
+
]);
|
|
201
|
+
(0, chai_1.expect)(withoutIt).to.not.have.property(actionKey("qb-foreign"));
|
|
202
|
+
(0, chai_1.expect)(withIt).to.have.property(actionKey("qb-foreign"));
|
|
203
|
+
});
|
|
204
|
+
it("is not served when no component of the page declares the button", async () => {
|
|
205
|
+
const actions = await actionsFor(["*"]);
|
|
206
|
+
(0, chai_1.expect)(actions).to.not.have.property(actionKey("qb-unknown"));
|
|
207
|
+
});
|
|
208
|
+
it("refuses an unnamed target on a page where several components declare the button", async () => {
|
|
209
|
+
const actions = await actionsFor(["pages.qb-ambiguous"]);
|
|
210
|
+
(0, chai_1.expect)(actions).to.not.have.property(actionKey("qb-ambiguous"));
|
|
211
|
+
(0, chai_1.expect)(actions[actionKey("qb-named")]?.target).to.deep.include({
|
|
212
|
+
component: "second",
|
|
213
|
+
});
|
|
214
|
+
});
|
|
215
|
+
it("keeps a recovery page's button while the gate denies the tenant", async () => {
|
|
216
|
+
const actions = await actionsFor(["pages.qb-recovery", "pages.qb-recovery.table.add"], DENIED_TENANT);
|
|
217
|
+
(0, chai_1.expect)(actions).to.have.property(actionKey("qb-recovery"));
|
|
218
|
+
});
|
|
219
|
+
});
|
|
220
|
+
//# sourceMappingURL=quick-actions-button.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quick-actions-button.test.js","sourceRoot":"","sources":["../../../../../src/test/unit/implementations/dms/quick-actions-button.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ describe("[unit] implementations/dms-html-render — GenerateHtml", () => {
|
|
|
13
13
|
htmlRender: {
|
|
14
14
|
renderEndpoint: RENDER_ENDPOINT,
|
|
15
15
|
serviceSecret: "test-service-secret",
|
|
16
|
-
serviceTokenLifetime:
|
|
16
|
+
serviceTokenLifetime: 60_000,
|
|
17
17
|
},
|
|
18
18
|
});
|
|
19
19
|
globalThis.fetch = async (input, init) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-html.test.js","sourceRoot":"","sources":["../../../../../src/test/unit/implementations/dms-html-render/generate-html.test.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,+CAAiD;AACjD,iFAA2E;AAG3E,MAAM,eAAe,GAAG,0CAA0C,CAAC;AACnE,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,SAAS,EAAuC,CAAC;AAE1E,QAAQ,CAAC,uDAAuD,EAAE,GAAG,EAAE;IACrE,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC;IACvC,MAAM,QAAQ,GAAc,EAAE,CAAC;IAE/B,MAAM,CAAC,GAAG,EAAE;QACV,IAAA,oBAAW,EAAC;YACV,UAAU,EAAE;gBACV,cAAc,EAAE,eAAe;gBAC/B,aAAa,EAAE,qBAAqB;gBACpC,oBAAoB,EAAE,
|
|
1
|
+
{"version":3,"file":"generate-html.test.js","sourceRoot":"","sources":["../../../../../src/test/unit/implementations/dms-html-render/generate-html.test.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,+CAAiD;AACjD,iFAA2E;AAG3E,MAAM,eAAe,GAAG,0CAA0C,CAAC;AACnE,MAAM,QAAQ,GAAG,EAAE,IAAI,EAAE,SAAS,EAAuC,CAAC;AAE1E,QAAQ,CAAC,uDAAuD,EAAE,GAAG,EAAE;IACrE,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC;IACvC,MAAM,QAAQ,GAAc,EAAE,CAAC;IAE/B,MAAM,CAAC,GAAG,EAAE;QACV,IAAA,oBAAW,EAAC;YACV,UAAU,EAAE;gBACV,cAAc,EAAE,eAAe;gBAC/B,aAAa,EAAE,qBAAqB;gBACpC,oBAAoB,EAAE,MAAM;aAC7B;SACF,CAAC,CAAC;QACH,UAAU,CAAC,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YACvC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;YACxC,OAAO,IAAI,QAAQ,CAAC,2BAA2B,EAAE;gBAC/C,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;aAChD,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,GAAG,EAAE;QACT,UAAU,CAAC,KAAK,GAAG,aAAa,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,GAAG,EAAE;QACd,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,IAAA,8BAAY,EAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;QAEvD,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,IAAA,8BAAY,EAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAE9C,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrC,IAAA,aAAM,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const chai_1 = require("chai");
|
|
4
|
+
const jsonwebtoken_1 = require("jsonwebtoken");
|
|
5
|
+
const config_1 = require("../../../../config");
|
|
6
|
+
const service_jwt_1 = require("../../../../implementations/dms-html-render/service-jwt");
|
|
7
|
+
const RENDER_TOKEN_LIFETIME_SECONDS = 5 * 60;
|
|
8
|
+
const RENDER_TOKEN_MIN_JTI_LENGTH = 16;
|
|
9
|
+
const DEFAULT_SERVICE_TOKEN_LIFETIME = 5 * 60 * 1000;
|
|
10
|
+
function decodeServiceToken(serviceTokenLifetime) {
|
|
11
|
+
(0, config_1.applyConfig)({
|
|
12
|
+
htmlRender: { ...(0, config_1.getHtmlRenderConfig)(), serviceTokenLifetime },
|
|
13
|
+
});
|
|
14
|
+
return (0, jsonwebtoken_1.decode)((0, service_jwt_1.generateServiceToken)(), { json: true });
|
|
15
|
+
}
|
|
16
|
+
describe("[unit] implementations/dms-html-render — generateServiceToken", () => {
|
|
17
|
+
const initialConfig = { ...(0, config_1.getHtmlRenderConfig)() };
|
|
18
|
+
afterEach(() => {
|
|
19
|
+
(0, config_1.applyConfig)({ htmlRender: initialConfig });
|
|
20
|
+
});
|
|
21
|
+
it("mints claims the frontend render server accepts", () => {
|
|
22
|
+
const payload = decodeServiceToken(DEFAULT_SERVICE_TOKEN_LIFETIME);
|
|
23
|
+
const now = Math.floor(Date.now() / 1000);
|
|
24
|
+
(0, chai_1.expect)(payload.namespace).to.equal("html-render-service");
|
|
25
|
+
(0, chai_1.expect)(payload.purpose).to.equal("html-render");
|
|
26
|
+
(0, chai_1.expect)(payload.aud).to.equal("dms-frontend");
|
|
27
|
+
(0, chai_1.expect)(payload.jti).to.have.length.of.at.least(RENDER_TOKEN_MIN_JTI_LENGTH);
|
|
28
|
+
(0, chai_1.expect)(payload.iat).to.be.at.most(now);
|
|
29
|
+
(0, chai_1.expect)(payload.exp).to.be.greaterThan(now);
|
|
30
|
+
(0, chai_1.expect)(payload.exp - payload.iat).to.be.at.most(RENDER_TOKEN_LIFETIME_SECONDS);
|
|
31
|
+
});
|
|
32
|
+
it("reads the configured lifetime as milliseconds", () => {
|
|
33
|
+
const payload = decodeServiceToken(90_000);
|
|
34
|
+
(0, chai_1.expect)(payload.exp - payload.iat).to.equal(90);
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=service-jwt.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-jwt.test.js","sourceRoot":"","sources":["../../../../../src/test/unit/implementations/dms-html-render/service-jwt.test.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,+CAAsC;AAEtC,+CAAsE;AACtE,yFAA+F;AAI/F,MAAM,6BAA6B,GAAG,CAAC,GAAG,EAAE,CAAC;AAC7C,MAAM,2BAA2B,GAAG,EAAE,CAAC;AACvC,MAAM,8BAA8B,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAOrD,SAAS,kBAAkB,CAAC,oBAA4B;IACtD,IAAA,oBAAW,EAAC;QACV,UAAU,EAAE,EAAE,GAAG,IAAA,4BAAmB,GAAE,EAAE,oBAAoB,EAAE;KAC/D,CAAC,CAAC;IACH,OAAO,IAAA,qBAAM,EAAC,IAAA,kCAAoB,GAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAuB,CAAC;AAC9E,CAAC;AAED,QAAQ,CAAC,+DAA+D,EAAE,GAAG,EAAE;IAC7E,MAAM,aAAa,GAAG,EAAE,GAAG,IAAA,4BAAmB,GAAE,EAAE,CAAC;IAEnD,SAAS,CAAC,GAAG,EAAE;QACb,IAAA,oBAAW,EAAC,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,OAAO,GAAG,kBAAkB,CAAC,8BAA8B,CAAC,CAAC;QACnE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAE1C,IAAA,aAAM,EAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC1D,IAAA,aAAM,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAChD,IAAA,aAAM,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC7C,IAAA,aAAM,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC5E,IAAA,aAAM,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvC,IAAA,aAAM,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAA,aAAM,EAAC,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAC7C,6BAA6B,CAC9B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAE3C,IAAA,aAAM,EAAC,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -69,6 +69,12 @@ function inviteHostForm() {
|
|
|
69
69
|
slotId: invite_extensions_2.INVITE_FORM_SLOT_ID,
|
|
70
70
|
});
|
|
71
71
|
}
|
|
72
|
+
function inviteEditHostForm() {
|
|
73
|
+
return (0, form_1.Form)({
|
|
74
|
+
fields: [textField("firstname"), textField("roles_ids")],
|
|
75
|
+
slotId: invite_extensions_2.INVITE_EDIT_FORM_SLOT_ID,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
72
78
|
function extensionForm(fieldId) {
|
|
73
79
|
return (0, form_1.Form)({ fields: [textField(fieldId, true)] });
|
|
74
80
|
}
|
|
@@ -101,13 +107,13 @@ async function hostLayoutFields(slug) {
|
|
|
101
107
|
.options;
|
|
102
108
|
return options.fields;
|
|
103
109
|
}
|
|
104
|
-
async function registerHostPage(slug) {
|
|
110
|
+
async function registerHostPage(slug, hostForm = inviteHostForm) {
|
|
105
111
|
class Host extends (0, page_1.PageController)(slug, {
|
|
106
112
|
displayName: `Invite host ${slug}`,
|
|
107
113
|
category: page_1.pagesCategory,
|
|
108
114
|
publicAccess: true,
|
|
109
115
|
}) {
|
|
110
|
-
static invite =
|
|
116
|
+
static invite = hostForm();
|
|
111
117
|
}
|
|
112
118
|
(0, page_1.RegisterPage)()(Host);
|
|
113
119
|
await settle();
|
|
@@ -200,11 +206,129 @@ describe("[unit] interfaces/dms/invite-extensions — RegisterInviteExtension",
|
|
|
200
206
|
]);
|
|
201
207
|
});
|
|
202
208
|
});
|
|
209
|
+
describe("edit form of a pending invitation", () => {
|
|
210
|
+
function contributedFields(fields) {
|
|
211
|
+
return fields
|
|
212
|
+
.filter(form_1.isFieldGroupSerialized)
|
|
213
|
+
.flatMap((group) => group.fields);
|
|
214
|
+
}
|
|
215
|
+
it("merges the contributed fields, editable unless the extension opts out", async () => {
|
|
216
|
+
register(recordingExtension("billing", "costCenter").options);
|
|
217
|
+
register({
|
|
218
|
+
...recordingExtension("frozen", "value").options,
|
|
219
|
+
editable: false,
|
|
220
|
+
});
|
|
221
|
+
await registerHostPage("ie-edit", inviteEditHostForm);
|
|
222
|
+
const fields = contributedFields(await hostLayoutFields("/ie-edit"));
|
|
223
|
+
(0, chai_1.expect)(fields.map((field) => [field.id, field.disabled === true])).to.deep.equal([
|
|
224
|
+
["billing__costCenter", false],
|
|
225
|
+
["frozen__value", true],
|
|
226
|
+
]);
|
|
227
|
+
});
|
|
228
|
+
it("anchors a block placed by the roles field on the stored roles column", async () => {
|
|
229
|
+
register({
|
|
230
|
+
...recordingExtension("scope", "access").options,
|
|
231
|
+
placement: { side: "after", anchorField: "roles" },
|
|
232
|
+
});
|
|
233
|
+
await registerHostPage("ie-edit-anchor", inviteEditHostForm);
|
|
234
|
+
(0, chai_1.expect)(topLevelIds(await hostLayoutFields("/ie-edit-anchor"))).to.deep.equal(["firstname", "roles_ids", "scope"]);
|
|
235
|
+
});
|
|
236
|
+
it("leaves the invite modal's own blocks editable", async () => {
|
|
237
|
+
register({
|
|
238
|
+
...recordingExtension("frozen", "value").options,
|
|
239
|
+
editable: false,
|
|
240
|
+
});
|
|
241
|
+
await registerHostPage("ie-edit-modal");
|
|
242
|
+
const fields = contributedFields(await hostLayoutFields("/ie-edit-modal"));
|
|
243
|
+
(0, chai_1.expect)(fields.map((field) => field.disabled === true)).to.deep.equal([
|
|
244
|
+
false,
|
|
245
|
+
]);
|
|
246
|
+
});
|
|
247
|
+
it("prefills the fields with the stored payloads, under their prefixed ids", () => {
|
|
248
|
+
register(recordingExtension("billing", "costCenter").options);
|
|
249
|
+
(0, chai_1.expect)(invite_extensions_2.internal.ReadInviteExtensionFields({
|
|
250
|
+
billing: { costCenter: "CC-42" },
|
|
251
|
+
gone: { value: "orphan" },
|
|
252
|
+
})).to.deep.equal({ billing__costCenter: "CC-42" });
|
|
253
|
+
});
|
|
254
|
+
it("prefills nothing for an invitation without payloads", () => {
|
|
255
|
+
register(recordingExtension("billing", "costCenter").options);
|
|
256
|
+
(0, chai_1.expect)(invite_extensions_2.internal.ReadInviteExtensionFields(null)).to.deep.equal({});
|
|
257
|
+
});
|
|
258
|
+
});
|
|
259
|
+
describe("payload edited on a pending invitation", () => {
|
|
260
|
+
const context = {
|
|
261
|
+
tenantId: TENANT,
|
|
262
|
+
email: "someone@acme.dev",
|
|
263
|
+
inviteId: "invite-1",
|
|
264
|
+
};
|
|
265
|
+
it("takes the slices the submission carries", () => {
|
|
266
|
+
register(recordingExtension("billing", "costCenter").options);
|
|
267
|
+
register(recordingExtension("onboarding", "track").options);
|
|
268
|
+
(0, chai_1.expect)(invite_extensions_2.internal.CollectInviteExtensionEdits({
|
|
269
|
+
firstname: "Ada",
|
|
270
|
+
billing__costCenter: "CC-43",
|
|
271
|
+
})).to.deep.equal({ billing: { costCenter: "CC-43" } });
|
|
272
|
+
});
|
|
273
|
+
it("refuses an edited slice its schema rejects", () => {
|
|
274
|
+
register(recordingExtension("billing", "costCenter").options);
|
|
275
|
+
(0, chai_1.expect)(() => invite_extensions_2.internal.CollectInviteExtensionEdits({ billing__costCenter: "" })).to.throw();
|
|
276
|
+
});
|
|
277
|
+
it("ignores the slice of an extension that is not editable", () => {
|
|
278
|
+
register({
|
|
279
|
+
...recordingExtension("frozen", "value").options,
|
|
280
|
+
editable: false,
|
|
281
|
+
});
|
|
282
|
+
(0, chai_1.expect)(invite_extensions_2.internal.CollectInviteExtensionEdits({ frozen__value: "changed" })).to.deep.equal({});
|
|
283
|
+
});
|
|
284
|
+
it("tells an extension its payload changed, parsed, with the previous one", async () => {
|
|
285
|
+
const updates = [];
|
|
286
|
+
register({
|
|
287
|
+
key: "capacity",
|
|
288
|
+
component: extensionForm("seats"),
|
|
289
|
+
schema: zod_1.z.object({ seats: zod_1.z.string().transform(Number) }),
|
|
290
|
+
onAccept: () => undefined,
|
|
291
|
+
onUpdate: (payload, previous, updateContext) => {
|
|
292
|
+
updates.push([payload, previous, updateContext]);
|
|
293
|
+
},
|
|
294
|
+
});
|
|
295
|
+
await invite_extensions_2.internal.NotifyInviteExtensionUpdates({ capacity: { seats: "3" } }, { capacity: { seats: "5" } }, context);
|
|
296
|
+
(0, chai_1.expect)(updates).to.deep.equal([[{ seats: 5 }, { seats: 3 }, context]]);
|
|
297
|
+
});
|
|
298
|
+
it("stays quiet when the payload did not change", async () => {
|
|
299
|
+
let calls = 0;
|
|
300
|
+
register({
|
|
301
|
+
...recordingExtension("billing", "costCenter").options,
|
|
302
|
+
onUpdate: () => {
|
|
303
|
+
calls += 1;
|
|
304
|
+
},
|
|
305
|
+
});
|
|
306
|
+
await invite_extensions_2.internal.NotifyInviteExtensionUpdates({ billing: { costCenter: "CC-42" } }, { billing: { costCenter: "CC-42" } }, context);
|
|
307
|
+
(0, chai_1.expect)(calls).to.equal(0);
|
|
308
|
+
});
|
|
309
|
+
it("keeps notifying after a handler throws", async () => {
|
|
310
|
+
const seen = [];
|
|
311
|
+
register({
|
|
312
|
+
...recordingExtension("failing", "value").options,
|
|
313
|
+
onUpdate: () => {
|
|
314
|
+
throw new Error("update boom");
|
|
315
|
+
},
|
|
316
|
+
});
|
|
317
|
+
register({
|
|
318
|
+
...recordingExtension("billing", "costCenter").options,
|
|
319
|
+
onUpdate: (payload) => {
|
|
320
|
+
seen.push(payload.costCenter);
|
|
321
|
+
},
|
|
322
|
+
});
|
|
323
|
+
await invite_extensions_2.internal.NotifyInviteExtensionUpdates(null, { failing: { value: "x" }, billing: { costCenter: "CC-43" } }, context);
|
|
324
|
+
(0, chai_1.expect)(seen).to.deep.equal(["CC-43"]);
|
|
325
|
+
});
|
|
326
|
+
});
|
|
203
327
|
describe("payload collected at submit", () => {
|
|
204
328
|
it("splits each extension's slice out of the submitted body", () => {
|
|
205
329
|
register(recordingExtension("billing", "costCenter").options);
|
|
206
330
|
register(recordingExtension("onboarding", "track").options);
|
|
207
|
-
(0, chai_1.expect)(
|
|
331
|
+
(0, chai_1.expect)(invite_extensions_2.internal.CollectInviteExtensionPayloads({
|
|
208
332
|
email: "someone@acme.dev",
|
|
209
333
|
billing__costCenter: "CC-42",
|
|
210
334
|
onboarding__track: "sales",
|
|
@@ -215,13 +339,13 @@ describe("[unit] interfaces/dms/invite-extensions — RegisterInviteExtension",
|
|
|
215
339
|
});
|
|
216
340
|
it("refuses a body that does not satisfy an extension's schema", () => {
|
|
217
341
|
register(recordingExtension("billing", "costCenter").options);
|
|
218
|
-
(0, chai_1.expect)(() =>
|
|
342
|
+
(0, chai_1.expect)(() => invite_extensions_2.internal.CollectInviteExtensionPayloads({ email: "someone@acme.dev" })).to.throw();
|
|
219
343
|
});
|
|
220
344
|
it("drops keys of an extension that is no longer registered", () => {
|
|
221
345
|
const dispose = register(recordingExtension("gone", "value").options);
|
|
222
346
|
dispose();
|
|
223
347
|
disposers.length = 0;
|
|
224
|
-
(0, chai_1.expect)(
|
|
348
|
+
(0, chai_1.expect)(invite_extensions_2.internal.CollectInviteExtensionPayloads({ gone__value: "orphan" })).to.deep.equal({});
|
|
225
349
|
});
|
|
226
350
|
});
|
|
227
351
|
describe("delivery at acceptance", () => {
|
|
@@ -233,7 +357,7 @@ describe("[unit] interfaces/dms/invite-extensions — RegisterInviteExtension",
|
|
|
233
357
|
it("hands each extension its own payload and the new member", async () => {
|
|
234
358
|
const billing = recordingExtension("billing", "costCenter");
|
|
235
359
|
register(billing.options);
|
|
236
|
-
await
|
|
360
|
+
await invite_extensions_2.internal.DeliverInviteExtensions({ billing: { costCenter: "CC-42" } }, MEMBER, context);
|
|
237
361
|
(0, chai_1.expect)(billing.recorded.accepted).to.deep.equal([
|
|
238
362
|
{ payload: { costCenter: "CC-42" }, member: MEMBER },
|
|
239
363
|
]);
|
|
@@ -241,7 +365,7 @@ describe("[unit] interfaces/dms/invite-extensions — RegisterInviteExtension",
|
|
|
241
365
|
it("skips a payload the schema no longer accepts", async () => {
|
|
242
366
|
const billing = recordingExtension("billing", "costCenter");
|
|
243
367
|
register(billing.options);
|
|
244
|
-
await
|
|
368
|
+
await invite_extensions_2.internal.DeliverInviteExtensions({ billing: { costCenter: 42 } }, MEMBER, context);
|
|
245
369
|
(0, chai_1.expect)(billing.recorded.accepted).to.have.length(0);
|
|
246
370
|
});
|
|
247
371
|
it("hands a transforming schema's output to the contributor", async () => {
|
|
@@ -254,8 +378,10 @@ describe("[unit] interfaces/dms/invite-extensions — RegisterInviteExtension",
|
|
|
254
378
|
seen.push(payload);
|
|
255
379
|
},
|
|
256
380
|
});
|
|
257
|
-
const stored =
|
|
258
|
-
|
|
381
|
+
const stored = invite_extensions_2.internal.CollectInviteExtensionPayloads({
|
|
382
|
+
capacity__seats: "3",
|
|
383
|
+
});
|
|
384
|
+
await invite_extensions_2.internal.DeliverInviteExtensions(stored, MEMBER, context);
|
|
259
385
|
(0, chai_1.expect)(seen).to.deep.equal([{ seats: 3 }]);
|
|
260
386
|
});
|
|
261
387
|
it("keeps delivering after a contributor throws", async () => {
|
|
@@ -268,7 +394,7 @@ describe("[unit] interfaces/dms/invite-extensions — RegisterInviteExtension",
|
|
|
268
394
|
});
|
|
269
395
|
const billing = recordingExtension("billing", "costCenter");
|
|
270
396
|
register(billing.options);
|
|
271
|
-
await
|
|
397
|
+
await invite_extensions_2.internal.DeliverInviteExtensions({ failing: { value: "x" }, billing: { costCenter: "CC-42" } }, MEMBER, context);
|
|
272
398
|
(0, chai_1.expect)(billing.recorded.accepted).to.have.length(1);
|
|
273
399
|
});
|
|
274
400
|
});
|
|
@@ -328,7 +454,7 @@ describe("[unit] interfaces/dms/invite-extensions — RegisterInviteExtension",
|
|
|
328
454
|
it("leaves an extension that declared no cleanup handler alone", async () => {
|
|
329
455
|
const { options } = recordingExtension("billing", "costCenter");
|
|
330
456
|
register({ ...options, onCleanup: undefined });
|
|
331
|
-
await
|
|
457
|
+
await invite_extensions_2.internal.CleanupInviteExtensions(null, {
|
|
332
458
|
reason: "member-removed",
|
|
333
459
|
tenantId: TENANT,
|
|
334
460
|
userId: "user-1",
|
|
@@ -358,7 +484,7 @@ describe("[unit] interfaces/dms/invite-extensions — RegisterInviteExtension",
|
|
|
358
484
|
const second = recordingExtension("billing", "b");
|
|
359
485
|
register(second.options);
|
|
360
486
|
disposeFirst();
|
|
361
|
-
await
|
|
487
|
+
await invite_extensions_2.internal.DeliverInviteExtensions({ billing: { b: "value" } }, MEMBER, {
|
|
362
488
|
tenantId: TENANT,
|
|
363
489
|
email: "someone@acme.dev",
|
|
364
490
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invite-extension.test.js","sourceRoot":"","sources":["../../../../../src/test/unit/interfaces/dms/invite-extension.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"invite-extension.test.js","sourceRoot":"","sources":["../../../../../src/test/unit/interfaces/dms/invite-extension.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|