Skip to content

Commit bf270bc

Browse files
committed
test(cloud-connection): the install gate admits a declared .custom flow override; a declared action still waits
Co-Authored-By: Claude <noreply@anthropic.com>
1 parent c5bcd4b commit bf270bc

1 file changed

Lines changed: 19 additions & 0 deletions

File tree

‎packages/cloud-connection/src/marketplace-install-local-override-gate.test.ts‎

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,8 @@ const BASE_HOLDINGS: Holdings = {
110110
[BASE]: {
111111
dashboard: [{ name: 'crm_board', label: 'Board' }],
112112
object: [{ name: 'crm_account' }],
113+
flow: [{ name: 'crm_followup', label: 'Follow up' }],
114+
action: [{ name: 'crm_call', label: 'Call' }],
113115
},
114116
};
115117

@@ -179,6 +181,23 @@ describe('install-local 2d — the override write gate at the managed install (A
179181
expect(res.payload.data).not.toHaveProperty('overrideCollisions');
180182
});
181183

184+
it('[#28412] the paired .custom installs its declared FLOW override; a declared action override still waits', async () => {
185+
// ADR-0146 D9: flow's conditions are delivered, so the gate admits it.
186+
const flow = await install({
187+
id: PAIR, version: '1.0.0', dependencies: deps(BASE),
188+
flows: [{ name: 'crm_followup', label: 'Ours', overrides: { package: BASE, basedOn: '1.0.0' } }],
189+
});
190+
expect(flow.res.status, JSON.stringify(flow.res.payload)).toBe(200);
191+
expect(flow.registered).toEqual([PAIR]);
192+
193+
const action = await install({
194+
id: PAIR, version: '1.0.0', dependencies: deps(BASE),
195+
actions: [{ name: 'crm_call', label: 'Ours', overrides: { package: BASE, basedOn: '1.0.0' } }],
196+
});
197+
expect(action.res.status).toBe(403);
198+
expect(refusedOf(action.res)).toEqual([['action', 'crm_call', 'declared_type_not_yet_available']]);
199+
});
200+
182201
it('CONTROL: a dependent shipping its own names installs, and its answer carries no collision key', async () => {
183202
const { res, registered } = await install({
184203
id: PARTNER, version: '1.0.0', dependencies: deps(BASE), dashboards: [{ name: 'partner_board' }],

0 commit comments

Comments
 (0)