diff --git a/frontend/test/e2e/admin.test.js b/frontend/test/e2e/admin.test.js
index d2c9f5cd02fad382b8e372334681f14850e698fd..ca004db621ebbca2414b620da4b7bbe5adb0d4fc 100644
--- a/frontend/test/e2e/admin.test.js
+++ b/frontend/test/e2e/admin.test.js
@@ -118,5 +118,32 @@ module.exports = {
       .waitForElementNotPresent({selector: "@rows", index: 2})
     roles
       .verify.containsText('@userCount', '2')
+  },
+  'Assign admin role' : async function(browser){
+    const users = browser.page.users();
+    const roles = users.section.leftSidebar;
+    const editUsers = users.section.editUsers;
+    const newUsername = "newTestUser"
+    const newPassword = "newTestUser"
+    const newEmail = "test42@example.net"
+    users.createUser(newUsername, newPassword, newEmail)
+    const newTestUser = editUsers.section.newTestUser;
+    roles
+      .verify.containsText('@userCount', '3')
+      .verify.containsText('@adminCount', '1')
+    newTestUser
+      .click("@addRole")
+      .waitForElementVisible("@addRoleInput")
+      .setValue("@addRoleInput", "admin")
+      .submitForm("@addRoleInput")
+      .waitForElementVisible("@save")
+      .click("@save")
+    roles
+      .verify.containsText('@userCount', '3')
+      .verify.containsText('@adminCount', '2')
+    browser.refresh()
+    roles
+      .verify.containsText('@userCount', '3')
+      .verify.containsText('@adminCount', '2')
   }
 };
diff --git a/frontend/test/pages/users.js b/frontend/test/pages/users.js
index 1366106fa7a624c99a532d78c9c438dea394cf5f..14be5cac898b7e0a9eb14391834e4bc4a2ec1681 100644
--- a/frontend/test/pages/users.js
+++ b/frontend/test/pages/users.js
@@ -107,6 +107,14 @@ module.exports = {
               selector: "//*[contains(text(),'newTestUser')]//following::div//*[contains(text(), 'Save')]",
               locateStrategy: 'xpath'
             },
+            addRole: {
+              selector: "//*[contains(text(),'newTestUser')]//following::div//*[contains(text(), 'Add role')]",
+              locateStrategy: 'xpath'
+            },
+            addRoleInput: {
+              selector: "//*[contains(text(),'newTestUser')]//following::div//input[@placeholder='Enter role']",
+              locateStrategy: 'xpath'
+            },
             delete: {
               selector: "//*[contains(text(),'newTestUser')]//following::div//*[contains(text(), 'Delete')]",
               locateStrategy: 'xpath'