diff --git a/portal-ui/tests/permissions-8/users.ts b/portal-ui/tests/permissions-8/users.ts index 421162bac..69465f88c 100644 --- a/portal-ui/tests/permissions-8/users.ts +++ b/portal-ui/tests/permissions-8/users.ts @@ -24,6 +24,9 @@ import { IAM_PAGES } from "../../src/common/SecureComponent/permissions"; const userListItem = Selector(".ReactVirtualized__Table__rowColumn").withText( constants.TEST_USER_NAME ); +const policyListItem = Selector(".ReactVirtualized__Table__rowColumn").withText( + constants.TEST_ASSIGN_POLICY_NAME +); const userDeleteIconButton = userListItem .child("checkbox") @@ -77,6 +80,24 @@ test("Users table exists", async (t) => { await t.navigateTo(usersPageUrl).expect(usersTableExists).ok(); }); +test("IAM Policy can be set on User", async (t) => { + const userListItemExists = userListItem.exists; + const policyListItemExists = policyListItem.exists; + await t + .navigateTo(usersPageUrl) + .typeText(elements.searchResourceInput, constants.TEST_USER_NAME) + .expect(userListItemExists) + .ok() + .click(userListItem) + .click(elements.userPolicies) + .click(elements.assignPoliciesButton) + .typeText(elements.searchResourceInput, constants.TEST_ASSIGN_POLICY_NAME) + .click(userCheckbox) + .click(elements.saveButton) + .expect(policyListItemExists) + .ok(); +}); + test("Created User can be viewed and deleted", async (t) => { const userListItemExists = userListItem.exists; const deleteSelectedButton = diff --git a/portal-ui/tests/utils/constants.ts b/portal-ui/tests/utils/constants.ts index a86224ff3..8ae1069cd 100644 --- a/portal-ui/tests/utils/constants.ts +++ b/portal-ui/tests/utils/constants.ts @@ -39,3 +39,4 @@ export const TEST_IAM_POLICY = JSON.stringify({ }, ], }); +export const TEST_ASSIGN_POLICY_NAME = "consoleAdmin"; diff --git a/portal-ui/tests/utils/elements.ts b/portal-ui/tests/utils/elements.ts index 5c03c44b1..c0cbf4e9c 100644 --- a/portal-ui/tests/utils/elements.ts +++ b/portal-ui/tests/utils/elements.ts @@ -69,7 +69,8 @@ export const startNewDiagnosticButton = Selector("#start-new-diagnostic"); export const downloadButton = Selector("button:enabled").withText("Download"); export const startButton = Selector("button:enabled").withText("Start"); export const stopButton = Selector("button:enabled").withText("Stop"); - +export const assignPoliciesButton = + Selector("button:enabled").withText("Assign Policies"); //---------------------------------------------------- // Links //---------------------------------------------------- @@ -209,3 +210,7 @@ export const settingsAuditWebhookTab = Selector(".MuiTab-root").withAttribute( export const logWindow = Selector('[data-test-id="logs-list-container"]'); //Node selector export const nodeSelector = Selector('[data-test-id="node-selector"]'); +//---------------------------------------------------- +// User Details +//---------------------------------------------------- +export const userPolicies = Selector(".MuiTab-root").withText("Policies");