Skip to content

Commit 8c0e43a

Browse files
committed
test(e2e): validate instance signature flow create/remove lifecycle
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
1 parent 99e5836 commit 8c0e43a

1 file changed

Lines changed: 41 additions & 0 deletions

File tree

playwright/e2e/policy-workbench-personas-permissions.spec.ts

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ const DEFAULT_TEST_PASSWORD = '123456'
2020
const GROUP_ID = 'policy-e2e-group'
2121
const GROUP_ADMIN_USER = 'policy-e2e-group-admin'
2222
const END_USER = 'policy-e2e-end-user'
23+
const INSTANCE_RESET_USER = 'policy-e2e-instance-reset-user'
2324
const POLICY_KEY = 'signature_flow'
2425

2526
type OcsPolicyResponse = {
@@ -208,3 +209,43 @@ test('personas can manage policies according to permissions and override toggles
208209
])
209210
}
210211
})
212+
213+
test('admin can remove explicit instance policy and restore system baseline', async ({ page }) => {
214+
await ensureUserExists(page.request, INSTANCE_RESET_USER, DEFAULT_TEST_PASSWORD)
215+
216+
const adminRequest = await createAuthenticatedRequestContext(ADMIN_USER, ADMIN_PASSWORD)
217+
const instanceResetUserRequest = await createAuthenticatedRequestContext(INSTANCE_RESET_USER, DEFAULT_TEST_PASSWORD)
218+
219+
try {
220+
await clearOwnUserPreference(instanceResetUserRequest)
221+
222+
let result = await policyRequest(
223+
adminRequest,
224+
'POST',
225+
`/apps/libresign/api/v1/policies/system/${POLICY_KEY}`,
226+
{ value: 'parallel', allowChildOverride: true },
227+
)
228+
expect(result.httpStatus).toBe(200)
229+
230+
let effectivePolicy = await getEffectivePolicy(instanceResetUserRequest)
231+
expect(effectivePolicy?.effectiveValue).toBe('parallel')
232+
expect(effectivePolicy?.sourceScope).toBe('global')
233+
234+
result = await policyRequest(
235+
adminRequest,
236+
'POST',
237+
`/apps/libresign/api/v1/policies/system/${POLICY_KEY}`,
238+
{ value: null, allowChildOverride: false },
239+
)
240+
expect(result.httpStatus).toBe(200)
241+
242+
effectivePolicy = await getEffectivePolicy(instanceResetUserRequest)
243+
expect(effectivePolicy?.effectiveValue).toBe('none')
244+
expect(effectivePolicy?.sourceScope).toBe('system')
245+
} finally {
246+
await Promise.all([
247+
adminRequest.dispose(),
248+
instanceResetUserRequest.dispose(),
249+
])
250+
}
251+
})

0 commit comments

Comments
 (0)