GUI: Added new test case for user management page

Changes:
  - Added new test case to 'Test Modifying User Privilege Of Existing User Via GUI'.

Tested:
  - Ran test case successfully in sandbox.

Change-Id: Ie53b8433c4cd1334723e46ed2fcf0690db48226f
Signed-off-by: Nandish-Matti <nandish.matti@ibm.com>
diff --git a/gui/gui_test/security_and_access_menu/test_user_management_sub_menu.robot b/gui/gui_test/security_and_access_menu/test_user_management_sub_menu.robot
index 0ffe658..ffa06a9 100644
--- a/gui/gui_test/security_and_access_menu/test_user_management_sub_menu.robot
+++ b/gui/gui_test/security_and_access_menu/test_user_management_sub_menu.robot
@@ -169,6 +169,44 @@
     Create User And Verify  ${username}  ${privilege_level}  ${True}  Failure
 
 
+Test Modifying User Privilege Of Existing User Via GUI
+    [Documentation]  Modify user privilege of existing user via GUI and verify the changes using Redfish.
+    [Tags]  Test_Modifying_User_Privilege_Of_Existing_User_Via_GUI
+    [Teardown]  Delete Users Via Redfish  ${username}
+
+    # Get random username and user privilege level.
+    ${username}=  Generate Random String  8  [LETTERS]
+    ${privilege_level}=  Evaluate  random.choice(${user_privilege_list})  random
+
+    # Create new user account.
+    Create User And Verify  ${username}  ${privilege_level}  ${True}
+
+    # Get user privilege role details distinct from the current ones.
+    FOR  ${privilege}  IN  @{user_privilege_list}
+      IF  '${privilege}' != '${privilege_level}'
+          ${modify_privilege}=  Set Variable  ${privilege}
+      END
+    END
+
+    # Modify user privilege via GUI.
+    Wait Until Keyword Succeeds  30 sec   5 sec  Click Element
+    ...  //td[text()='${username}']/following-sibling::*/*/*[@title='Edit user']
+    Select From List by Value  ${xpath_privilege_list_button}  ${modify_privilege}
+
+    # Submit changes.
+    Click Element  ${xpath_submit_button}
+
+    # Confirm the successful update.
+    Wait Until Element Is Visible  ${xpath_success_message}  timeout=30
+    Wait Until Element Is Not Visible  ${xpath_success_message}  timeout=30
+
+    # Verify user privilege via Redfish.
+    Redfish.Login
+    ${resp}=  Redfish.Get  /redfish/v1/AccountService/Accounts/${username}
+    Should Be Equal  ${resp.dict["RoleId"]}  ${modify_privilege}
+    Redfish.Logout
+
+
 *** Keywords ***
 
 Create User And Verify