- Code/Gerrit: https://reviews.mahara.org/#/c/10610/ Patch set 4 - Browser tested: Chrome - Theme: Raw - No browser or theme testing needed Preconditions: 1. Mahara site version 19.10 present. 2. Institution1 is present. 3. Site admin has the following 'Settings for external applications' saved with Owner 'admin': - 'LTI integration' 'ExternalApp#1' 'No institution' - 'LTI integration' 'ExternalApp2' for 'Institution1' - 'Mahara Mobile API' 'ExternalApp-3' for Institution1 4. The following additional people exist with the given roles: - Inst1Admin has the institution admin role in Institution1 - Staff has the site staff role (no institution) - Inst1Student has no special role in Institution1 - PersonA no role (no institution) - suspended Test scenario 1: The owner can be updated for existing external applications. Test steps: 1. Upgrade the site to use patch. 2. Login as site admin and navigate to 'Admin menu' > 'Web services' > 'External apps'. Expected result ✔ : The above three external applications are displayed correctly in the 'Settings for external applications' table. In all 3 cases the owner is 'admin'. 3. Click the 'Edit' button for 'ExternalApp#1' and change the owner from 'admin' to 'Staff' by deleting the 'admin' and searching for 'Staff' and selecting that account. Click the 'Save' button. Expected result ✔ : The change is saved and 'Staff' displays as the owner in the 'Settings for external applications' table. 4. Click the 'Edit' button for 'ExternalApp2' and change the owner from 'admin' to 'Inst1Admin' by deleting the 'admin' and searching for 'Inst1Admin' and selecting that account. Click the 'Save' button. Expected result ✔ : The change is saved and 'Inst1Admin' displays as the owner in the 'Settings for external applications' table. 5. Click the 'Edit' button for 'ExternalApp-3' settings and change the owner from 'admin' to 'Inst1Student'by deleting the 'admin' and searching for 'Inst1Student' and selecting that account. Click the 'Save' button. Expected result ✔ : The change is saved and 'Inst1Student' displays as the owner in the 'Settings for external applications' table. 6. Log out, then log in again and return to 'Admin menu' > 'Web services' > 'External apps'. Expected result ✔ : The changes persist. Test scenario 2: A new external application can be added for an owner other than 'admin' Test steps: 7. Navigate to 'Admin menu' > 'Web services' > 'External apps', enter 'NewExtApp1' in 'Application:' and select to 'Add' a new external application for an owner other than 'admin'. Expected results: The new external application is created and 'Registration...' page is displayed with default values: - ✔ The 'Service owner' field label is marked as required with a red asterisk, - ✔ The owner default value is 'admin', - ✔ The default owner can be removed, - ✔ At least one and only one owner must be selected, - If no owner is selected then 'Save' is clicked: ✔ - Display the general page top error message, ✔ - Display 'Need to set an owner for this service' underneath the 'Service owner' field ✔ - Once an owner is selected and 'Save' is clicked again ✔ - clear both error messages, ✔ - the selected owner remains displayed. - If no owner is selected then 'Back' is clicked: ✔ - the 'Settings for external applications' table is displayed with no content change. - If no owner is selected then the person selects the Mahara logo: ✔ - the dashboard is displayed, when the user returns to 'Admin menu' > 'Web services' > 'External apps' ✔ - the 'Settings for external applications' table is displayed with no content change. 8. Navigate to 'Admin menu' > 'Web services' > 'External apps', enter 'NewExtApp2' in 'Application:' and select to 'Add' a new external application for an owner other than 'admin' and 'No institution'. Expected results: - ✔ The owner default value is 'admin', - ✔ The default owner can be removed, - ✔ A suspended user/person is NOT available to be selected, - ✔ A single new value can be selected from any active user/person on the site, - ✔ The change is saved ('Save' then 'Back'), the selected owner displays in the 'Settings for external applications' table. 9. Navigate to 'Admin menu' > 'Web services' > 'External apps' and 'Add' a new external application for Institution1, select an owner other than 'admin' that is NOT a member of Institution1. Expected results: - ✔ The owner default value is 'admin', - ✔ The default owner can be removed, - ✔ A single new value can be selected from any active user/person on the site that is NOT a member of Institution1, - ✔ The change is saved ('Save' then 'Back'), the selected owner displays in the 'Settings for external applications' table.