Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Steur <tsteur@users.noreply.github.com>2019-05-09 01:26:39 +0300
committerdiosmosis <diosmosis@users.noreply.github.com>2019-05-09 01:26:39 +0300
commit76e60590f486f33a38e7ea08bf941fa57ac904c5 (patch)
tree695bafa55fcd74d79322ed3885e90c4a17ff3e01 /plugins/UsersManager
parent461a48e6d7050f73b1c25db98b6f96cff86bd043 (diff)
Switch UI tests from phantomjs to chrome headless (#14421)
* Make sure xss entries is always an array. * Update expected test files and submodule. * Regenerate broken omnifixture dump. * poc conversion to chrome headless for UI tests, single test works locally * Get single test to pass on travis & local w/ headless chrome. * Remove old diff viewer generation, and get output to look the same as before when there is a failure. * Add global timeout & get ViewDataTableTest to pass. * Convert BarGraph_spec.js. * Convert EmptySite_spec. * Update EvolutionGraph spec for chrome headless. * Convert GoalsTable test & find/replace for common changes. * Convert MeasurableManager. * Another find & replace. * Get Menus/OptOutForm to pass w/ chrome headless * Convert PeriodSelector, PieGraph & PivotByDimension UI tests. * undo unrelated debugging change * Convert QuickAccess UI tests * Converts ActionsDataTable UI tests * reset viewport after each testsuite * Converts RowEvolution UI tests * Converts Theme UI tests * Converts SiteSelector UI tests * Converts CustomVariables UI test * Converts DBStats UI test * Ignore empty responses when calling api/controller * Converts Dashboard UI tests * Converts Live UI tests * Converts SimpleUI tests * Converts Installation UI tests * Converts ImageGraph UI tests * Converts Login UI tests * Converts Marketplace UI tests * Converts Insights UI tests * Converts ReportExporting UI tests * Converts UIIntegration tests * Updates ViewDataTable UI tests * Converts CoreUpdater UI tests * Converts UsersManager UI tests * Converts Morpheus UI tests * Converts MultiSites UI tests * Fix testEnvironment.callApi handling of array parameters * Converts Overlay UI tests * Converts PrivacyManager UI tests * Converts ScheduledReports UI tests * Converts SegmentEditor UI tests * compare pixel difference in images * Converts PeriodSelector UI tests * allow a pixel difference * Converts SingleMetricView UI tests * Converts SitesManager UI tests * Converts Transitions UI tests * Converts MeasurableManager UI tests * Move Mouse out of screen after each test suite * Converts PieGraph UI tests * Ensure cursor is not shown in focused input elements * Converts VisitorMap UI tests * Converts CustomLogo UI tests * Converts BarGraph UI tests * Converts EvolutionGraph UI tests * Converts IntranetMeasurable UI tests * Converts TrackingFailures UI tests * Converts CampaignBuilder UI tests * Converts TagManagerTeaser UI tests * fix request url rewrite for changed port * Converts TwoFactorAuth UI tests * do not print full responses in logs, but size instead * improve additional style injection * use submodule branches * fix request interception * update dependencies * [TEMP] disable dangerous link checks * [TEMP] limit tests * Use puppeteer@next and make sure diffs get uploaded properly. * Use correct fs function. * Allow timeout to be specified on command line for UI tests and debug console logs. * timeout option tweak * Setup diff dir once before running tests not before each suite. * fix last commit * Update screenshots and fix some specs. * Convert some tests that were not converted during merge. * updating screenshots * Updating screenshots and fixing some tests. * more test fixes * couple more test fixes * More test fixes and plugin updates. * wait for jquery * Fix some screenshots and tests. * more test fixes * debug travis test failure * remove .only * more test fixes and updated expected files * another test fixing iteration * typo * another quick test change * more tests updates * Test fixes and & more debugging. * more debugging and test fixes * more fixes and debugging. * remove .only * Another round of fixed tests. * more debugging & fixes * more test changes * more debugging and fixes * Fixing more tests + some bug fixes. * Couple more fixes. * Couple more fixes. * Fixing tracking failures test * more fixes * Last couple fixes hopefully. * couple more test fixes * more fixes, bug fix in usersmanager, some test updates * Some more test fixes/changes. * more and more fixes * hoping for a green build * Do not compare against existing files in dashboard_spec. * more fixes, re-enabling travis * really re-enable travis * Install puppeteer on travis-ci. * more fixes * try to fix random failues * remove return * Convert some login tests I forgot and update UsersManager expected file * Fix test for primary key update * Update AddPrimaryKey.php * More test fixes + implement synchronous comparison threshold (so no resemblejs) * More wait fixes + reset token detection fix. * couple more fixes * Fix login/overlay screenshot issue & magick command running issue. * identify is the executable on travis (hopefully) + fix some random failures * Another run. * Last fix. * two more tweaks * typo
Diffstat (limited to 'plugins/UsersManager')
-rw-r--r--plugins/UsersManager/angularjs/capabilities-edit/capabilities-edit.component.js1
-rw-r--r--plugins/UsersManager/angularjs/paged-users-list/paged-users-list.component.html4
-rw-r--r--plugins/UsersManager/tests/UI/UsersManager_spec.js709
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_add_new_user_form.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_add_user.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_add_user_by_email.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_add_user_by_login.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_add_user_not_exists.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_edit_permissions.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_existing_user_modal.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_load.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_edit_user_basic_info.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_all_rows_deselected.png3
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_all_rows_in_search.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_all_rows_selected.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_bulk_remove_access.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_bulk_set_access.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_bulk_set_access_confirm.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_delete_bulk_access.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_delete_single.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_edit_user_basic_asks_confirmation.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_edit_user_basic_confirmed_wrong_password.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_edit_user_form.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_filters.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_load.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_manage_users_back.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_next_click.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_all_rows_in_search.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_all_sites_access.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_bulk_access_set.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_bulk_access_set_all.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_capability_single_site.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_edit.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_filters.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_next.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_remove_access.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_remove_single.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_select_all.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_select_multiple.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_single_site_access.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_previous.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_role_for.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_rows_selected.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_superuser_confirm.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_superuser_set.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_superuser_tab.png4
-rw-r--r--plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_user_created.png4
47 files changed, 482 insertions, 407 deletions
diff --git a/plugins/UsersManager/angularjs/capabilities-edit/capabilities-edit.component.js b/plugins/UsersManager/angularjs/capabilities-edit/capabilities-edit.component.js
index 3b59ae516b..b9bd7c23d0 100644
--- a/plugins/UsersManager/angularjs/capabilities-edit/capabilities-edit.component.js
+++ b/plugins/UsersManager/angularjs/capabilities-edit/capabilities-edit.component.js
@@ -131,6 +131,7 @@
function onToggleCapability(isAdd) {
vm.isAddingCapability = isAdd;
+ vm.capabilityToAddOrRemove = null;
vm.availableCapabilities.forEach(function (capability) {
if (capability.id === vm.capabilityToAddOrRemoveId) {
vm.capabilityToAddOrRemove = capability;
diff --git a/plugins/UsersManager/angularjs/paged-users-list/paged-users-list.component.html b/plugins/UsersManager/angularjs/paged-users-list/paged-users-list.component.html
index 3657a63d62..20971d90d7 100644
--- a/plugins/UsersManager/angularjs/paged-users-list/paged-users-list.component.html
+++ b/plugins/UsersManager/angularjs/paged-users-list/paged-users-list.component.html
@@ -54,7 +54,7 @@
ng-model-options="{debounce: 300}"
placeholder="{{:: 'UsersManager_UserSearch'|translate }}"
full-width="true"
- ng-change="$ctrl.changeSearch({ filter_search: $ctrl.userTextFilter })"
+ ng-change="$ctrl.changeSearch({ filter_search: $ctrl.userTextFilter, offset: 0 })"
></div>
</div>
<div class="input-field col s12 m4 l4">
@@ -66,7 +66,7 @@
placeholder="{{:: 'UsersManager_FilterByAccess'|translate }}"
options="$ctrl.filterAccessLevels"
full-width="true"
- ng-change="$ctrl.changeSearch({ filter_access: $ctrl.accessLevelFilter })"
+ ng-change="$ctrl.changeSearch({ filter_access: $ctrl.accessLevelFilter, offset: 0 })"
></div>
</div>
</div>
diff --git a/plugins/UsersManager/tests/UI/UsersManager_spec.js b/plugins/UsersManager/tests/UI/UsersManager_spec.js
index 670b62e13a..7a824728bd 100644
--- a/plugins/UsersManager/tests/UI/UsersManager_spec.js
+++ b/plugins/UsersManager/tests/UI/UsersManager_spec.js
@@ -13,393 +13,445 @@ describe("UsersManager", function () {
var url = "?module=UsersManager&action=index";
- it('should display the manage users page correctly', function (done) {
- expect.screenshot("load").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ before(async function() {
+ await page.webpage.setViewport({
+ width: 1250,
+ height: 768
+ });
+ });
- page.load(url);
- }, done);
+ after(async () => {
+ try {
+ await testEnvironment.callApi('UsersManager.deleteUser', {
+ userLogin: '000newuser',
+ });
+ } catch (err) {
+ // ignore
+ }
});
- it('should change the results page when next is clicked', function (done) {
- expect.screenshot("next_click").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should display the manage users page correctly', async function () {
+ await page.goto(url);
- page.click('.usersListPagination .btn.next');
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('load');
});
- it('should filter by username and access level when the inputs are filled', function (done) {
- expect.screenshot("filters").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should change the results page when next is clicked', async function () {
+ await page.click('.usersListPagination .btn.next');
+ await page.mouse.move(-10, -10);
+ await page.waitForNetworkIdle();
- page.sendKeys('#user-text-filter', 'ight');
- page.evaluate(function () {
- $('select[name=access-level-filter]').val('string:view').change();
- });
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('next_click');
});
- it('should display access for a different site when the roles for select is changed', function (done) {
- expect.screenshot("role_for").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should filter by username and access level when the inputs are filled', async function () {
+ await page.evaluate(function () {
+ $('select[name=access-level-filter]').val('string:view').change();
+ $('#user-text-filter').val('ight').change();
+ });
+ await page.waitForNetworkIdle();
+ await page.waitFor(1000); // wait for rendering
- // remove access filter
- page.evaluate(function () {
- $('select[name=access-level-filter]').val('string:').change();
- });
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('filters');
+ });
- page.click('th.role_header .siteSelector a.title');
- page.click('.siteSelector .custom_select_container a:contains(relentless)');
- }, done);
+ it('should display access for a different site when the roles for select is changed', async function () {
+ // remove access filter
+ await page.evaluate(function () {
+ $('select[name=access-level-filter]').val('string:').change();
+ });
+
+ await page.evaluate(() => $('th.role_header .siteSelector a.title').click());
+ await page.waitForNetworkIdle();
+ await page.waitForSelector('.siteSelector .custom_select_container a');
+ await page.evaluate(function () {
+ $('.siteSelector .custom_select_container a:contains(relentless)').click();
+ });
+ await page.waitForNetworkIdle();
+ await page.waitFor(500);
+
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('role_for');
});
- it('should select rows when individual row select is clicked', function (done) {
- expect.screenshot("rows_selected").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should select rows when individual row select is clicked', async function () {
+ await (await page.jQuery('td.select-cell label:eq(0)')).click();
+ await (await page.jQuery('td.select-cell label:eq(3)')).click();
+ await (await page.jQuery('td.select-cell label:eq(8)')).click();
+ await page.mouse.move(0, 0);
+ await page.waitFor(500); // for checkbox animations
- page.click('td.select-cell label:eq(0)');
- page.click('td.select-cell label:eq(3)');
- page.click('td.select-cell label:eq(8)');
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('rows_selected');
});
- it('should select all rows when all row select is clicked', function (done) {
- expect.screenshot("all_rows_selected").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should select all rows when all row select is clicked', async function () {
+ await page.click('th.select-cell label');
+ await page.mouse.move(0, 0);
+ await page.waitFor(500); // for checkbox animations
- page.click('th.select-cell label');
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('all_rows_selected');
});
- it('should select all rows in search when link in table is clicked', function (done) {
- expect.screenshot("all_rows_in_search").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should select all rows in search when link in table is clicked', async function () {
+ await page.click('.toggle-select-all-in-search');
+ await page.mouse.move(0, 0);
+ await page.waitFor(100);
- page.click('.toggle-select-all-in-search');
- page.sendMouseEvent('mousemove', { x: 0, y: 0 });
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('all_rows_in_search');
});
- it('should deselect all rows in search except for displayed rows when link in table is clicked again', function (done) {
- expect.screenshot("all_rows_selected").to.be.captureSelector('all_rows_in_search_deselected', '.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should deselect all rows in search except for displayed rows when link in table is clicked again', async function () {
+ await page.click('.toggle-select-all-in-search');
+ await page.mouse.move(0, 0);
+ await page.waitFor(100);
- page.click('.toggle-select-all-in-search');
- page.sendMouseEvent('mousemove', { x: 0, y: 0 });
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('all_rows_deselected');
});
- it('should show bulk action confirm when bulk change access option used', function (done) {
- expect.screenshot("bulk_set_access_confirm").to.be.captureSelector('.change-user-role-confirm-modal', function (page) {
- page.setViewportSize(1250);
+ it('should show bulk action confirm when bulk change access option used', async function () {
+ // remove filters
+ await page.evaluate(function () {
+ $('select[name=access-level-filter]').val('string:').change();
+ });
- // remove filters
- page.evaluate(function () {
- $('select[name=access-level-filter]').val('string:').change();
- });
+ await page.click('.toggle-select-all-in-search'); // reselect all in search
- page.click('.toggle-select-all-in-search'); // reselect all in search
+ await page.click('.bulk-actions.btn');
+ await (await page.jQuery('#user-list-bulk-actions>li:first')).hover();
+ await (await page.jQuery('#bulk-set-access a:contains(Admin)')).click();
+ await page.waitFor(350); // wait for animation
- page.click('.bulk-actions.btn');
- page.mouseMove('#user-list-bulk-actions>li:first');
- page.click('#bulk-set-access a:contains(Admin)');
- }, done);
+ expect(await (await page.$('.change-user-role-confirm-modal')).screenshot()).to.matchImage('bulk_set_access_confirm');
});
- it('should change access for all rows in search when confirmed', function (done) {
- expect.screenshot("bulk_set_access").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should change access for all rows in search when confirmed', async function () {
+ await (await page.jQuery('.change-user-role-confirm-modal .modal-close:not(.modal-no):visible')).click();
+ await page.waitForNetworkIdle();
- page.click('.change-user-role-confirm-modal .modal-close:not(.modal-no)');
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('bulk_set_access');
});
- it('should remove access to the currently selected site when the bulk remove access option is clicked', function (done) {
- expect.screenshot("bulk_remove_access").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should remove access to the currently selected site when the bulk remove access option is clicked', async function () {
+ await page.click('th.select-cell label'); // select displayed rows
- page.click('th.select-cell label'); // select displayed rows
+ await page.click('.bulk-actions.btn');
+ await (await page.jQuery('#user-list-bulk-actions a:contains(Remove Permissions)')).click();
+ await (await page.jQuery('.change-user-role-confirm-modal .modal-close:not(.modal-no):visible')).click();
+ await page.mouse.move(-10, -10);
+ await page.waitForNetworkIdle();
- page.click('.bulk-actions.btn');
- page.click('#user-list-bulk-actions a:contains(Remove Permissions)');
- page.click('.change-user-role-confirm-modal .modal-close:not(.modal-no)');
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('bulk_remove_access');
});
- it('should go back to first page when previous button is clicked', function (done) {
- expect.screenshot("previous").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should go back to first page when previous button is clicked', async function () {
+ await page.click('.usersListPagination .btn.next');
+ await page.waitForNetworkIdle();
+ await page.waitFor('.pagedUsersList:not(.loading)');
+
+ await page.click('.usersListPagination .btn.next');
+ await page.waitForNetworkIdle();
+ await page.waitFor('.pagedUsersList:not(.loading)');
+
+ await page.click('.usersListPagination .btn.prev');
+ await page.waitForNetworkIdle();
- page.click('.usersListPagination .btn.prev');
- }, done);
+ await page.mouse.move(-10, -10);
+ await page.waitFor('.pagedUsersList:not(.loading)');
+
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('previous');
});
- it('should delete a single user when the modal is confirmed is clicked', function (done) {
- expect.screenshot("delete_single").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should delete a single user when the modal is confirmed is clicked', async function () {
+ await (await page.jQuery('.deleteuser:eq(0)')).click();
+ await (await page.jQuery('.delete-user-confirm-modal .modal-close:not(.modal-no):visible')).click();
+ await page.waitForNetworkIdle();
- page.click('.deleteuser:eq(0)');
- page.click('.delete-user-confirm-modal .modal-close:not(.modal-no)');
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('delete_single');
});
- it('should delete selected users when delete users bulk action is used', function (done) {
- expect.screenshot("delete_bulk_access").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should delete selected users when delete users bulk action is used', async function () {
+ await page.click('th.select-cell label'); // select displayed rows
+
+ await page.click('.bulk-actions.btn');
+ await (await page.jQuery('#user-list-bulk-actions a:contains(Delete Users)')).click();
+ await (await page.jQuery('.delete-user-confirm-modal .modal-close:not(.modal-no):visible')).click();
+ await page.waitForNetworkIdle();
- page.click('th.select-cell label'); // select displayed rows
+ await page.mouse.move(-10, -10);
- page.click('.bulk-actions.btn');
- page.click('#user-list-bulk-actions a:contains(Delete Users)');
- page.click('.delete-user-confirm-modal .modal-close:not(.modal-no)');
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('delete_bulk_access');
});
- it('should show the add new user form when the add new user button is clicked', function (done) {
- expect.screenshot("add_new_user_form").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should show the add new user form when the add new user button is clicked', async function () {
+ await page.click('.add-user-container .btn');
+ await page.waitForNetworkIdle();
- page.click('.add-user-container .btn');
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('add_new_user_form');
});
- it('should create a user and show the edit user form when the create user button is clicked', function (done) {
- expect.screenshot("user_created").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should create a user and show the edit user form when the create user button is clicked', async function () {
+ await page.type('#user_login', '000newuser');
+ await page.type('#user_password', 'thepassword');
+ await page.type('#user_email', 'theuser@email.com');
- page.sendKeys('#user_login', '000newuser');
- page.sendKeys('#user_password', 'thepassword');
- page.sendKeys('#user_email', 'theuser@email.com');
+ await page.click('piwik-user-edit-form .siteSelector a.title');
+ await (await page.jQuery('piwik-user-edit-form .siteSelector .custom_select_ul_list a:eq(1):visible', { waitFor: true })).click();
- page.click('piwik-user-edit-form .siteSelector a.title');
- page.click('piwik-user-edit-form .siteSelector .custom_select_container a:eq(1)');
+ await page.evaluate(() => $('piwik-user-edit-form [piwik-save-button] input').click());
+ await page.waitForNetworkIdle();
- page.click('piwik-user-edit-form [piwik-save-button]');
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('user_created');
});
- it('should show the permissions edit when the permissions tab is clicked', function (done) {
- expect.screenshot("permissions_edit").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should show the permissions edit when the permissions tab is clicked', async function () {
+ await page.click('.userEditForm .menuPermissions');
+ await page.mouse.move(0, 0);
- page.click('.userEditForm .menuPermissions');
- page.sendMouseEvent('mousemove', { x: 0, y: 0 });
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('permissions_edit');
});
- it('should select all sites in search when in table link is clicked', function (done) {
- expect.screenshot("permissions_all_rows_in_search").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should select all sites in search when in table link is clicked', async function () {
+ // remove filters
+ await page.evaluate(function () {
+ $('div.site-filter>input').val('').change();
+ $('.access-filter select').val('string:').change();
+ });
+ await page.waitForNetworkIdle();
- // remove filters
- page.evaluate(function () {
- $('div.site-filter>input').val('').change();
- $('.access-filter select').val('string:').change();
- });
+ await page.click('.userPermissionsEdit th.select-cell label');
+ await page.waitFor(500); // for angular to re-render
+ await page.evaluate(() => $('.userPermissionsEdit tr.select-all-row a').click());
+ await page.waitFor(500); // for angular to re-render
- page.click('.userPermissionsEdit th.select-cell label');
- page.click('.userPermissionsEdit tr.select-all-row a');
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('permissions_all_rows_in_search');
});
- it('should add access to all websites when bulk access is used on all websites in search', function (done) {
- expect.screenshot("permissions_all_sites_access").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should add access to all websites when bulk access is used on all websites in search', async function () {
+ await page.click('.userPermissionsEdit .bulk-actions > .dropdown-trigger.btn');
+ await (await page.jQuery('#user-permissions-edit-bulk-actions>li:first')).hover();
+ await (await page.jQuery('#user-permissions-edit-bulk-actions a:contains(Write)')).click();
- page.click('.userPermissionsEdit .bulk-actions > .dropdown-trigger.btn');
- page.mouseMove('#user-permissions-edit-bulk-actions>li:first');
- page.click('#user-permissions-edit-bulk-actions a:contains(Write)');
+ await page.waitFor('.change-access-confirm-modal', { visible: true });
+ await page.evaluate(() => $('.userPermissionsEdit .change-access-confirm-modal .modal-close:not(.modal-no):visible').click());
+ await page.waitForNetworkIdle();
+ await page.waitFor(250); // animation
- page.click('.change-access-confirm-modal .modal-close:not(.modal-no)');
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('permissions_all_sites_access');
});
- it('should go to the next results page when the next button is clicked', function (done) {
- expect.screenshot("permissions_next").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should go to the next results page when the next button is clicked', async function () {
+ await page.click('.sites-for-permission-pagination a.next');
+ await page.waitForNetworkIdle();
- page.click('.sites-for-permission-pagination a.next');
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('permissions_next');
});
- it('should remove access to a single site when the trash icon is used', function (done) {
- expect.screenshot("permissions_remove_single").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should remove access to a single site when noaccess is selected', async function () {
+ await page.evaluate(() => $('#sitesForPermission .role-select select').first().val('string:noaccess').change());
+ await page.waitFor('.change-access-confirm-modal', { visible: true });
+ await page.waitFor(250); // animation
- page.click('#sitesForPermission .deleteaccess');
- page.click('.delete-access-confirm-modal .modal-close:not(.modal-no)');
- }, done);
+ await page.evaluate(() => $('.userPermissionsEdit .change-access-confirm-modal .modal-close:not(.modal-no):visible').click());
+ await page.waitForNetworkIdle();
+ await page.waitFor(250); // animation
+
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('permissions_remove_single');
});
- it('should select multiple rows when individual row selects are clicked', function (done) {
- expect.screenshot("permissions_select_multiple").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should select multiple rows when individual row selects are clicked', async function () {
+ await (await page.jQuery('#sitesForPermission td.select-cell label:eq(0)')).click();
+ await (await page.jQuery('#sitesForPermission td.select-cell label:eq(3)')).click();
+ await (await page.jQuery('#sitesForPermission td.select-cell label:eq(8)')).click();
+ await page.mouse.move(-10, -10);
+ await page.waitFor(1000); // for checkbox animations
- page.click('#sitesForPermission td.select-cell label:eq(0)');
- page.click('#sitesForPermission td.select-cell label:eq(3)');
- page.click('#sitesForPermission td.select-cell label:eq(8)');
- }, done);
+ expect(await (await page.$('.usersManager')).screenshot()).to.matchImage({
+ imageName: 'permissions_select_multiple',
+ comparisonThreshold: 0.0005,
+ });
});
- it('should set access to selected sites when set bulk access is used', function (done) {
- expect.screenshot("permissions_bulk_access_set").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should set access to selected sites when set bulk access is used', async function () {
+ await page.click('.userPermissionsEdit .bulk-actions > .dropdown-trigger.btn');
+ await page.waitFor(250); // animation
+ await (await page.jQuery('#user-permissions-edit-bulk-actions>li:first:visible', { waitFor: true })).hover();
+ await page.waitFor(250); // animation
+ await (await page.jQuery('#user-permissions-edit-bulk-actions a:contains(Admin):visible', { waitFor: true })).click();
+
+ await page.waitFor('.change-access-confirm-modal');
- page.click('.userPermissionsEdit .bulk-actions > .dropdown-trigger.btn');
- page.mouseMove('#user-permissions-edit-bulk-actions>li:first');
- page.click('#user-permissions-edit-bulk-actions a:contains(Admin)');
+ await page.evaluate(() => $('.change-access-confirm-modal .modal-close:not(.modal-no):visible').click());
+ await page.mouse.move(-10, -10);
+ await page.waitForNetworkIdle();
- page.click('.change-access-confirm-modal .modal-close:not(.modal-no)');
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('permissions_bulk_access_set');
});
- it('should filter the permissions when the filters are used', function (done) {
- expect.screenshot("permissions_filters").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should filter the permissions when the filters are used', async function () {
+ await page.type('div.site-filter>input', 'nova');
+ await page.evaluate(function () {
+ $('.access-filter select').val('string:admin').change();
+ });
+ await page.waitForNetworkIdle();
+ await page.waitFor('#sitesForPermission tr', { visible: true });
+ await page.waitFor(1000);
- page.sendKeys('div.site-filter>input', 'nova');
- page.evaluate(function () {
- $('.access-filter select').val('string:admin').change();
- });
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('permissions_filters');
});
- it('should select all displayed rows when the select all checkbox is clicked', function (done) {
- expect.screenshot("permissions_select_all").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should select all displayed rows when the select all checkbox is clicked', async function () {
+ await page.click('.userPermissionsEdit th.select-cell label');
+ await page.waitFor(250); // for checkbox animations
- page.click('.userPermissionsEdit th.select-cell label');
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('permissions_select_all');
});
- it('should set access to all sites selected when set bulk access is used', function (done) {
- expect.screenshot("permissions_bulk_access_set_all").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should set access to all sites selected when set bulk access is used', async function () {
+ await page.click('.userPermissionsEdit .bulk-actions > .dropdown-trigger.btn');
+ await page.waitFor(100); // animation
+ await (await page.jQuery('#user-permissions-edit-bulk-actions>li:first', { waitFor: true })).hover();
+ await page.waitFor(100); // animation
+ await (await page.jQuery('#user-permissions-edit-bulk-actions a:contains(View)', { waitFor: true })).click();
+ await page.waitFor(250); // animation
- page.click('.userPermissionsEdit .bulk-actions > .dropdown-trigger.btn');
- page.mouseMove('#user-permissions-edit-bulk-actions>li:first');
- page.click('#user-permissions-edit-bulk-actions a:contains(View)');
+ await page.evaluate(() => $('.change-access-confirm-modal .modal-close:not(.modal-no):visible').click());
- page.click('.change-access-confirm-modal .modal-close:not(.modal-no)');
+ await page.evaluate(function () { // remove filter
+ $('.access-filter select').val('string:some').change();
+ });
+ await page.waitForNetworkIdle();
- page.evaluate(function () { // remove filter
- $('.access-filter select').val('string:some').change();
- });
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('permissions_bulk_access_set_all');
});
- it('should set access to single site when select in table is used', function (done) {
- expect.screenshot("permissions_single_site_access").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should set access to single site when select in table is used', async function () {
+ await page.evaluate(function () {
+ $('.userPermissionsEdit .role-select:eq(0) select').val('string:admin').change();
+ });
- page.evaluate(function () {
- $('.capability-checkbox tr select:eq(0)').val('string:admin').change();
- });
+ await page.waitFor('.userPermissionsEdit .change-access-confirm-modal', { visible: true });
+ await page.waitFor(100); // animation
+ await page.evaluate(() => $('.userPermissionsEdit .change-access-confirm-modal .modal-close:not(.modal-no):visible').click());
+ await page.waitForNetworkIdle();
- page.click('.change-access-confirm-modal .modal-close:not(.modal-no)');
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('permissions_single_site_access');
});
- it('should set a capability to single site when capability checkbox is clicked', function (done) {
- expect.screenshot("permissions_capability_single_site").to.be.captureSelector('.admin#content', function (page) {
- page.evaluate(function () {
- $('.capability-checkbox:not(:checked):not(:disabled):eq(0)').click();
- });
+ it('should set a capability to single site when capability checkbox is clicked', async function () {
+ await page.evaluate(() => $('.addCapability:eq(0)').click());
+ await page.evaluate(() => $('.addCapability:eq(0) .expandableListCategory:contains(Tag Manager)').click());
+ await page.evaluate(() => $('.addCapability:eq(0) .expandableListItem:contains(Publish Live Container)').click());
- page.click('.confirmCapabilityToggle .modal-close:not(.modal-no)');
- }, done);
+ await page.waitFor(250); // animation
+
+ await page.evaluate(() => $('.confirmCapabilityToggle .modal-close:not(.modal-no):visible').click());
+ await page.waitForNetworkIdle();
+
+ await page.waitFor(250); // animation
+
+ expect(await page.screenshotSelector('.admin#content')).to.matchImage('permissions_capability_single_site');
});
- it('should remove access to displayed rows when remove bulk access is clicked', function (done) {
- expect.screenshot("permissions_remove_access").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should remove access to displayed rows when remove bulk access is clicked', async function () {
+ // remove filters
+ await page.evaluate(function () {
+ $('.userPermissionsEdit div.site-filter>input').val('').change();
+ $('.userPermissionsEdit .access-filter select').val('string:some').change();
+ });
- // remove filters
- page.evaluate(function () {
- $('div.site-filter>input').val('').change();
- $('.access-filter select').val('string:').change();
- });
+ await page.waitForNetworkIdle();
+ await page.click('label[for=perm_edit_select_all]');
+
+ await page.waitFor('.userPermissionsEdit tr.select-all-row a');
+ await page.click('.userPermissionsEdit tr.select-all-row a');
+
+ await page.waitFor(250);
- page.click('.userPermissionsEdit th.select-cell label');
- page.click('.userPermissionsEdit tr.select-all-row a');
+ await page.click('.userPermissionsEdit .bulk-actions > .dropdown-trigger.btn');
+ await (await page.jQuery('.userPermissionsEdit a:contains(Remove Permissions)')).click();
- page.click('.userPermissionsEdit .bulk-actions > .dropdown-trigger.btn');
- page.click('.userPermissionsEdit a:contains(Remove Permissions)');
+ await page.evaluate(() => $('.delete-access-confirm-modal .modal-close:not(.modal-no):visible').click());
+ await page.waitForNetworkIdle();
- page.click('.delete-access-confirm-modal .modal-close:not(.modal-no)');
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('permissions_remove_access');
});
- it('should display the superuser access tab when the superuser tab is clicked', function (done) {
- expect.screenshot("superuser_tab").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should display the superuser access tab when the superuser tab is clicked', async function () {
+ await page.click('.userEditForm .menuSuperuser');
+ await page.mouse.move(0, 0);
- page.click('.userEditForm .menuSuperuser');
- page.sendMouseEvent('mousemove', { x: 0, y: 0 });
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('superuser_tab');
});
- it('should show superuser confirm modal when the superuser toggle is clicked', function (done) {
- expect.screenshot("superuser_confirm").to.be.captureSelector('.superuser-confirm-modal', function (page) {
- page.setViewportSize(1250);
+ it('should show superuser confirm modal when the superuser toggle is clicked', async function () {
+ await page.click('.userEditForm #superuser_access+label');
+ await page.waitFor(500);
- page.click('.userEditForm #superuser_access+label');
- }, done);
+ const elem = await page.$('.superuser-confirm-modal');
+ expect(await elem.screenshot()).to.matchImage('superuser_confirm');
});
- it('should give the user superuser access when the superuser modal is confirmed', function (done) {
- expect.screenshot("superuser_set").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should give the user superuser access when the superuser modal is confirmed', async function () {
+ await page.evaluate(() => $('.superuser-confirm-modal .modal-close:not(.modal-no):visible').click());
+ await page.waitForNetworkIdle();
+ await page.waitFor(500);
- page.click('.superuser-confirm-modal .modal-close:not(.modal-no)');
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('superuser_set');
});
- it('should go back to the manage users page when the back link is clicked', function (done) {
- expect.screenshot("manage_users_back").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should go back to the manage users page when the back link is clicked', async function () {
+ await page.click('.userEditForm .entityCancelLink');
+ await page.waitFor('piwik-paged-users-list');
- page.click('.userEditForm .entityCancelLink');
+ await page.evaluate(function () { // remove filter so new user shows
+ $('#user-text-filter').val('').change();
+ });
+ await page.waitForNetworkIdle();
+ await page.waitFor('.pagedUsersList:not(.loading)');
+ await page.waitFor(1000); // rendering
- page.evaluate(function () { // remove filter so new user shows
- $('#user-text-filter').val('').change();
- });
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('manage_users_back');
});
- it('should show the edit user form when the edit icon in a row is clicked', function (done) {
- expect.screenshot("edit_user_form").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should show the edit user form when the edit icon in a row is clicked', async function () {
+ await (await page.jQuery('button.edituser:eq(1)', { waitFor: true })).click();
+ await page.waitFor(250);
+ await page.waitForNetworkIdle();
- page.click('button.edituser:eq(1)');
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('edit_user_form');
});
- it('should ask for password confirmation when trying to change email', function (done) {
- expect.screenshot("edit_user_basic_asks_confirmation").to.be.captureSelector('.modal.open', function (page) {
- page.setViewportSize(1250);
+ it('should ask for password confirmation when trying to change email', async function () {
+ await page.evaluate(function () {
+ $('.userEditForm #user_email').val('testlogin3@example.com').change();
+ });
- page.evaluate(function () {
- $('.userEditForm #user_email').val('testlogin3@example.com').change();
- });
+ var btnSave = await page.jQuery('.userEditForm .basic-info-tab [piwik-save-button] .btn', { waitFor: true });
+ await btnSave.click();
- page.click('.userEditForm .basic-info-tab [piwik-save-button] .btn');
- }, done);
+ await page.waitFor(500); // animation
+
+ await page.click('.modal.open h2'); // remove focus from input for screenshot
+
+ const elem = await page.$('.modal.open');
+ expect(await elem.screenshot()).to.matchImage('edit_user_basic_asks_confirmation');
});
- it('should show error when wrong password entered', function (done) {
- expect.screenshot("edit_user_basic_confirmed_wrong_password").to.be.captureSelector('.admin#content,#notificationContainer', function (page) {
- page.setViewportSize(1250);
+ it('should show error when wrong password entered', async function () {
+ await page.type('.modal.open #currentUserPassword', 'test123456');
+
+ var btnNo = await page.jQuery('.change-password-modal .modal-close:not(.modal-no):visible');
+ await btnNo.click();
- page.sendKeys('.modal.open #currentUserPassword', 'test123456');
- page.click('.change-password-modal .modal-close:not(.modal-no)');
- }, done);
+ await page.waitFor(500); // animation
+ await page.waitForNetworkIdle();
+ await page.waitFor('#notificationContainer .notification');
+
+ expect(await page.screenshotSelector('.admin#content,#notificationContainer')).to.matchImage('edit_user_basic_confirmed_wrong_password');
});
// admin user tests
describe('UsersManager_admin_view', function () {
- before(function () {
+ before(async function () {
var idSites = [];
for (var i = 1; i !== 46; ++i) {
idSites.push(i);
@@ -407,6 +459,11 @@ describe("UsersManager", function () {
testEnvironment.idSitesAdminAccess = idSites;
testEnvironment.save();
+
+ await page.webpage.setViewport({
+ width: 1250,
+ height: 768
+ });
});
after(function () {
@@ -414,92 +471,106 @@ describe("UsersManager", function () {
testEnvironment.save();
});
- it('should hide columns & functionality if an admin user views the manage user page', function (done) {
- expect.screenshot("admin_load").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should hide columns & functionality if an admin user views the manage user page', async function () {
+ await page.goto(url);
- page.load(url);
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('admin_load');
});
- it('should show the add user form for admin users', function (done) {
- expect.screenshot("admin_add_user").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should show the add user form for admin users', async function () {
+ await page.click('.add-user-container .btn');
+ await page.waitForNetworkIdle();
- page.click('.add-user-container .btn');
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('admin_add_user');
});
- it('should not allow editing basic info for admin users', function (done) {
- expect.screenshot("edit_user_basic_info").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should not allow editing basic info for admin users', async function () {
+ await page.evaluate(function () {
+ $('.userEditForm .entityCancelLink').click();
+ });
+ await (await page.jQuery('button.edituser:eq(0)')).click();
+ await page.waitForNetworkIdle();
- page.evaluate(function () {
- $('.userEditForm .entityCancelLink').click();
- });
- page.click('button.edituser:eq(0)');
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('edit_user_basic_info');
});
- it('should allow editing user permissions for admin users', function (done) {
- expect.screenshot("admin_edit_permissions").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should allow editing user permissions for admin users', async function () {
+ await page.click('.userEditForm .menuPermissions');
- page.click('.userEditForm .menuPermissions');
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('admin_edit_permissions');
});
- it('should show the add existing user modal', function (done) {
- expect.screenshot("admin_existing_user_modal").to.be.captureSelector('.add-existing-user-modal', function (page) {
- page.setViewportSize(1250);
+ it('should show the add existing user modal', async function () {
+ await page.evaluate(function () {
+ $('.userEditForm .entityCancelLink').click();
+ });
- page.evaluate(function () {
- $('.userEditForm .entityCancelLink').click();
- });
+ await page.click('.add-existing-user');
+ await page.waitFor(500); // wait for animation
- page.click('.add-existing-user');
- }, done);
+ const elem = await page.$('.add-existing-user-modal');
+ expect(await elem.screenshot()).to.matchImage('admin_existing_user_modal');
});
- it('should add a user by email when an email is entered', function (done) {
- expect.screenshot("admin_add_user_by_email").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should add a user by email when an email is entered', async function () {
+ await page.type('input[name="add-existing-user-email"]', '0_login3conchords@example.com');
+ await page.waitFor('.add-existing-user-modal');
+ await (await page.jQuery('.add-existing-user-modal .modal-close:not(.modal-no):visible')).click();
+ await page.waitForNetworkIdle();
+
+ await page.evaluate(function () { // show new user
+ $('#user-text-filter').val('0_login3conchords@example.com').change();
+ });
+
+ await page.mouse.move(-10, -10);
- page.sendKeys('input[name=add-existing-user-email]', '0_login3conchords@example.com');
- page.click('.add-existing-user-modal .modal-close:not(.modal-no)');
+ await page.waitForNetworkIdle();
+ await page.waitFor('.pagedUsersList:not(.loading)');
+ await page.waitFor(1000); // for opacity to change
- page.evaluate(function () { // show new user
- $('#user-text-filter').val('0_login3conchords@example.com').change();
- });
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('admin_add_user_by_email');
});
- it('should add a user by username when a username is entered', function (done) {
- expect.screenshot("admin_add_user_by_login").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should add a user by username when a username is entered', async function () {
+ await page.click('.add-existing-user');
+ await page.waitFor('.add-existing-user-modal');
+ await page.evaluate(() => $('input[name="add-existing-user-email"]').val('').change());
+ await page.type('input[name="add-existing-user-email"]', '10_login8');
+ await (await page.jQuery('.add-existing-user-modal .modal-close:not(.modal-no):visible')).click();
+ await page.waitForNetworkIdle();
+
+ await page.evaluate(function () { // show new user
+ $('#user-text-filter').val('10_login8').change();
+ });
+
+ await page.mouse.move(-10, -10);
- page.click('.add-existing-user');
- page.sendKeys('input[name=add-existing-user-email]', '10_login8');
- page.click('.add-existing-user-modal .modal-close:not(.modal-no)');
+ await page.waitForNetworkIdle();
+ await page.waitFor('.pagedUsersList:not(.loading)');
+ await page.waitFor(1000); // for opacity to change
- page.evaluate(function () { // show new user
- $('#user-text-filter').val('10_login8').change();
- });
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('admin_add_user_by_login');
});
- it('should fail if an email/username that does not exist is entered', function (done) {
- expect.screenshot("admin_add_user_not_exists").to.be.captureSelector('.admin#content', function (page) {
- page.setViewportSize(1250);
+ it('should fail if an email/username that does not exist is entered', async function () {
+ await page.click('.add-existing-user');
+ await page.evaluate(() => $('input[name="add-existing-user-email"]').val('').change());
+ await page.type('input[name="add-existing-user-email"]', 'sldkjfsdlkfjsdkl');
+ await page.waitFor('.add-existing-user-modal');
+ await (await page.jQuery('.add-existing-user-modal .modal-close:not(.modal-no):visible')).click();
+ await page.waitForNetworkIdle();
+
+ await page.evaluate(function () { // show no user added
+ $('#user-text-filter').val('sldkjfsdlkfjsdkl').change();
+ });
+
+ await page.mouse.move(-10, -10);
- page.click('.add-existing-user');
- page.sendKeys('input[name=add-existing-user-email]', 'sldkjfsdlkfjsdkl');
- page.click('.add-existing-user-modal .modal-close:not(.modal-no)');
+ await page.waitForNetworkIdle();
+ await page.waitFor('.pagedUsersList:not(.loading)');
+ await page.waitFor(1000); // for opacity to change
- page.evaluate(function () { // show no user added
- $('#user-text-filter').val('sldkjfsdlkfjsdkl').change();
- });
- }, done);
+ expect(await page.screenshotSelector('.usersManager')).to.matchImage('admin_add_user_not_exists');
});
});
}); \ No newline at end of file
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_add_new_user_form.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_add_new_user_form.png
index 2952da4ada..e5fc07f7f9 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_add_new_user_form.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_add_new_user_form.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:55fad78c3d3632a2b8419254f345aaeefb2b21681b9207d639a7181a6980a2d9
-size 40229
+oid sha256:d729c6c5c49f61518498a2564ebea0606b818ce05ab10bdab5ce9683af86f884
+size 39758
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_add_user.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_add_user.png
index 2952da4ada..e5fc07f7f9 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_add_user.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_add_user.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:55fad78c3d3632a2b8419254f345aaeefb2b21681b9207d639a7181a6980a2d9
-size 40229
+oid sha256:d729c6c5c49f61518498a2564ebea0606b818ce05ab10bdab5ce9683af86f884
+size 39758
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_add_user_by_email.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_add_user_by_email.png
index 0160c27687..921f415d5b 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_add_user_by_email.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_add_user_by_email.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:39b2615e359937c1a2e424401ae856c0b7b241e4ef00e03fec3714b9332e6db2
-size 31755
+oid sha256:7182e34449469161da6e72f76abb2a926b3a0b37587aacde3cb0ee8ccb13f07c
+size 31972
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_add_user_by_login.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_add_user_by_login.png
index 832eded37a..fda11d1891 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_add_user_by_login.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_add_user_by_login.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:b75efae96dc838dca463275c5e2fe6f167e94f08024673db27e3e68bc0a33cd8
-size 31752
+oid sha256:78f74576683558307336a8134f799012d354c93c08623a1f3dd6fedbe0db7657
+size 30028
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_add_user_not_exists.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_add_user_not_exists.png
index 89f7490f47..875c42c30f 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_add_user_not_exists.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_add_user_not_exists.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:205fc0edbcf04bc5668ddf30a708419536172ded5a9583a32a4c088dd4b63e9a
-size 28170
+oid sha256:d8ffdd4effc7c5271f6a984bbdfbe2948893776fda763a917d05fcb307fd9bab
+size 27645
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_edit_permissions.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_edit_permissions.png
index fe64f5cf60..fc9fed4bbb 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_edit_permissions.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_edit_permissions.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:1a992036679293e4a70c5a0f977a1324052b53b649d353fd65bfa25c3b8d1e53
-size 80540
+oid sha256:f01071c5a9669247c8a5f64552e4837b02e1a02d538001cade91e2fabc009564
+size 82123
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_existing_user_modal.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_existing_user_modal.png
index 8102819ce7..48cac7c521 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_existing_user_modal.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_existing_user_modal.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:c236e754a70e6bbd91167f6538f73ec81035831d7f2087af9f64647176692153
-size 9977
+oid sha256:33c614930135f5f856681011d47a8c3f315ddb2221598c3992785c24fa8cebc2
+size 9128
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_load.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_load.png
index ca3ab57fc2..51453dfd59 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_load.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_admin_load.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:4aeb9086df4521c6bde46f4f344620a544404e13c41e23f9087138e842dbd52a
-size 108344
+oid sha256:a8de61a8ecd17f561c1a5655d2ea84e733afdc806944b43b372789c2e85cb83f
+size 96056
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_edit_user_basic_info.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_edit_user_basic_info.png
index ae3d165e19..41c52b66b0 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_edit_user_basic_info.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_admin_view_edit_user_basic_info.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:ed6bb3b5a1749678b023e04ebc3c9e4b72c992f55042e71fdbb8c07e3b3666b3
-size 12820
+oid sha256:3fe82c2879e2e593c2b3f55bd204e16cc3f5354162adc76f06eb246ca7f8fd11
+size 12440
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_all_rows_deselected.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_all_rows_deselected.png
new file mode 100644
index 0000000000..da9d0049f2
--- /dev/null
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_all_rows_deselected.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e3f856b4ba355c3e57ddb12a18731a25b036738923e74e8764aeb34aca619cad
+size 153882
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_all_rows_in_search.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_all_rows_in_search.png
index 05972ae1be..66618bde42 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_all_rows_in_search.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_all_rows_in_search.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:b666c634e642ac44c50f4ea411f2124dc265bd747bb907ddd478726ea4260323
-size 161895
+oid sha256:59b9d47ce6572ab2701d7a4b766b523e22f645a194f4516dd65939a819ae9511
+size 154372
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_all_rows_selected.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_all_rows_selected.png
index 69234ea5d1..e1286df4e8 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_all_rows_selected.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_all_rows_selected.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:8a6cd5db35ac81eb7ecdb85f4336cac2608e01244c1caf01cf68a60cf628ab23
-size 161895
+oid sha256:89ad9dbaadb5beda2a84119bc634b771dd20b41f0195efdc6a25fc6c4ec361ab
+size 153867
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_bulk_remove_access.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_bulk_remove_access.png
index 8d5883c35b..528afa1715 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_bulk_remove_access.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_bulk_remove_access.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:7b06a999abc1d82f7f05504982a2b98a3848a95e3a9477704a45d89629ba07ec
-size 156863
+oid sha256:4502110688a1436c0473da663e525925112fb62415c122a668d9e9849a6b1c2e
+size 147698
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_bulk_set_access.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_bulk_set_access.png
index 6573a7aa54..a3f2960235 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_bulk_set_access.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_bulk_set_access.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:ca7b1018f351cb40d46df3b622768c5bed3e1538fe99bd9e5a6497b49b9b8061
-size 142861
+oid sha256:3ec10f1fd7638c0ce37b791a23a35aa22b0abadd8ab03fd77766399184f3adf7
+size 138703
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_bulk_set_access_confirm.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_bulk_set_access_confirm.png
index d33574273f..fcf909dcff 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_bulk_set_access_confirm.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_bulk_set_access_confirm.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:5c3964b09e9a3fc277c9c6a32d7a1bf2adde8d92bac623625f7e228a3a796e8f
-size 8843
+oid sha256:208ea76f93927d5ed18220720e812d87acdefb5488014456c2fc429c26e89b47
+size 9574
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_delete_bulk_access.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_delete_bulk_access.png
index 458a341bbf..965fc0c32f 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_delete_bulk_access.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_delete_bulk_access.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:b9cec4b754e5849c8f9e1f19c78c5d0ae040aa043692d0a27a41ed0c745f0f9e
-size 155289
+oid sha256:81f058e934eb46d6702620452f397f48fe0d13a4f4e9c3e7055338da587e2f3c
+size 137805
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_delete_single.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_delete_single.png
index 54f19d2678..a9e289c2e3 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_delete_single.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_delete_single.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:d0ca416b08a3694ddefe3536e1d40eb0264bd77e214457023a9205719899dfae
-size 142806
+oid sha256:82cb3825149f0ca9e53a28628d1dcc3d6f70cfe5901a57724a9376c7a07d2ee2
+size 139627
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_edit_user_basic_asks_confirmation.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_edit_user_basic_asks_confirmation.png
index d4f1373951..08b73a8fc1 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_edit_user_basic_asks_confirmation.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_edit_user_basic_asks_confirmation.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:58417ca355aed42e9eb80ea205ff689274737c384f43bc3759bc92e848a57b0e
-size 22241
+oid sha256:971d23496e20e047637e9a385d4cc54a81a25fdd64b6e3730086f4329fad1d75
+size 21810
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_edit_user_basic_confirmed_wrong_password.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_edit_user_basic_confirmed_wrong_password.png
index 152212b899..1c06065911 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_edit_user_basic_confirmed_wrong_password.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_edit_user_basic_confirmed_wrong_password.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:6acdba605cb48293c18abd9b11730c32b0096378bc6d2ca33d9aefcded633f07
-size 30051
+oid sha256:dfeae31ba65f642560625caf671c38ae0744e65568186c6c6cae983f6dcfc497
+size 29078
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_edit_user_form.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_edit_user_form.png
index 862af2499e..1c176d8b5b 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_edit_user_form.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_edit_user_form.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:9663f20b5401c184af6eadc1148caf09f669320d4a8b09896bdbe216a5a41e86
-size 24408
+oid sha256:661ee4e411e3b07d34fa3064752ebcaf50999f2f480ce3eccc20af6f747a440b
+size 22155
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_filters.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_filters.png
index ae9354135f..5205719020 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_filters.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_filters.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:63bab18bcbecc3bf3dfddada93a6eb459f178bf0fdce4cf0c5e87e66af9b4c58
-size 141355
+oid sha256:d8dc680152a0f51ee0e44aa83d455313e37aa278a37bb8375d2e7ac6dabd0767
+size 137095
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_load.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_load.png
index a42f2cd5c2..94814675a6 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_load.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_load.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:a93fe86c57e2fda781c1a643b06513a73e2c445d57746c072ef6200eca92eb35
-size 152489
+oid sha256:6d1855aa739bc12b5da54c684cb4d184b38bdaa1513045be6982a122a3aeded1
+size 146132
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_manage_users_back.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_manage_users_back.png
index 66f8fae3ff..9ffaaa81a1 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_manage_users_back.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_manage_users_back.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:e651f3c3ca488e4c7a2cb21c2967ec5cefe203b53854594cdd9a044b51b04a86
-size 149611
+oid sha256:f16ad832b1d64c645664e7e64408f25e491c31f3926e2da9773cc40916193009
+size 147836
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_next_click.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_next_click.png
index e8bddcfbdd..0164f8276d 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_next_click.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_next_click.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:73842631d4e8364fd12ed690456dcd5e5aa3f59bb6be0cf949b74fc0171d9483
-size 154849
+oid sha256:6b269b8149aa1a40713a79cf673bfcadfc7ac3f9362586937416733f79bc99fd
+size 146368
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_all_rows_in_search.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_all_rows_in_search.png
index db504e90f4..fc268ef1ac 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_all_rows_in_search.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_all_rows_in_search.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:9bf2b6803c3f8f854904525bb6b732ebb10c12337ebb4429a9dd443a1bea8d06
-size 99676
+oid sha256:dce49c26c94a9bc3c94ef6f0245f224deeda454037c916c1f5b42e77a82a7ddd
+size 92367
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_all_sites_access.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_all_sites_access.png
index f7ebb1e16d..bfa5397bb9 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_all_sites_access.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_all_sites_access.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:0f0178ad819f50c522695f6ee26f49f3d234e69d45c03926e53bc6ba931f5319
-size 110189
+oid sha256:7e2c511b41be85369cbc2285afd0a9197ac69f74e42b809d681db6015dee093f
+size 99802
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_bulk_access_set.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_bulk_access_set.png
index 7bd52d8da7..83e71d9004 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_bulk_access_set.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_bulk_access_set.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:c3de312697133d2bd8f9ce29af03036d9a3fe232b8107a00801197c14c949595
-size 106504
+oid sha256:0d5f00a2c91cea6e79cd3d5adadae1cd5e7f2be4a5b7fca9b4f81ada0ffeeb5c
+size 109226
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_bulk_access_set_all.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_bulk_access_set_all.png
index bafbfb00a9..323e7bce5e 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_bulk_access_set_all.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_bulk_access_set_all.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:c365229c89b5d0f76418390be8f00fb31f7b27413d4daa30c24d21a3bcae14b6
-size 79943
+oid sha256:4af9d284d62698df449b104597006d73dc06855761fad90333def4febc11506c
+size 85673
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_capability_single_site.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_capability_single_site.png
index 08d4cbf83c..f2623bd5fb 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_capability_single_site.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_capability_single_site.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:3df83d6b62cd76a85d6dded057fe21e8af4d3215c98a7cd873794e04a2b94fec
-size 80269
+oid sha256:750fa07d8b3c6b5d7da0e68ede73131af3c1460c00aee070f2f1eda0e310d036
+size 96385
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_edit.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_edit.png
index 663c9724db..2d705dba06 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_edit.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_edit.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:a60334be90dd50374bbff65d7ca85baf93d57b74e79d323dfaf3389705dd74b8
-size 87863
+oid sha256:b297c49e4abb4307ecd92b7805b24816e68e8af75d0eb28926854ece5148c3db
+size 80946
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_filters.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_filters.png
index 500306ed87..1cda86e3aa 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_filters.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_filters.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:4b10666deba5302b0f6fff6473e7e5918931f61ee5d94d9bc68f2c02d08c105b
-size 62883
+oid sha256:0dbb9ad0fad0e51c572ce7b84cc59db7dea7083b702fc663fd3ab5cccffdb245
+size 28695
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_next.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_next.png
index 44f7cb3811..8aef2d97e2 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_next.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_next.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:63a85148040533f91e587ae827c16a83275dec92a938de1bddf0cedced2d002f
-size 90296
+oid sha256:7dfbc6cd25fe093bd16bcb58c16cb3daf1cc35ddb5e2d63309e99e6c9b0cb825
+size 89032
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_remove_access.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_remove_access.png
index bd062772c5..583351cb03 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_remove_access.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_remove_access.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:f522c3fbd71c9818978d0443f06ef28b5a588ed9236471a11adf36784dbeb46f
-size 104422
+oid sha256:26ca31ae95b17e05ee17f6b82bdd9ba855c494a39e22316c987fcb100e0bb908
+size 46122
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_remove_single.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_remove_single.png
index 531ba20bce..775701482f 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_remove_single.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_remove_single.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:e151f66a3a927c11fd61b08b7b85edc8c9b1aec3c4d690509dfd3132ba64278a
-size 89869
+oid sha256:f609f255c2b2568a43910de68334b1a4c68b7779d9a38f04aa1205bab8a5d364
+size 87349
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_select_all.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_select_all.png
index ebf75d1cbc..9ffa892dc0 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_select_all.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_select_all.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:0a53ad17655b89a1f89c290244668318f539b27df79a3fe701d1456c78fc77cc
-size 65065
+oid sha256:ad2b46f639d5a1d0d59299444b791011be309a71883f764cf1a22f7d712c5bbc
+size 29843
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_select_multiple.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_select_multiple.png
index 3c29fc51c2..eec29fe7e2 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_select_multiple.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_select_multiple.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:ec7d718ae1e01251c2f5560d1f024dad3d9df6ad911bfd54a4dc38fefa616eac
-size 91915
+oid sha256:27f1f77e4949b5b1aa4246b1047306600222cbdc1f52bfd60f2c9a8f6a30350b
+size 88944
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_single_site_access.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_single_site_access.png
index bafbfb00a9..2d2a9d7736 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_single_site_access.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_permissions_single_site_access.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:c365229c89b5d0f76418390be8f00fb31f7b27413d4daa30c24d21a3bcae14b6
-size 79943
+oid sha256:5606bd6b54b2776f8a0df93ff31d5cd7a4f527e9b24fc0727a6e33286d234c01
+size 92464
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_previous.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_previous.png
index b9b8a52fdb..9035cfeac8 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_previous.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_previous.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:757455c8b741db255bf771567455715bf62de8a05312dd12e58de807828aad5d
-size 142269
+oid sha256:d2e0af95365e32a9fdbea48829fe54ab4bb81d374f7758c838efdb5c5a669428
+size 138702
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_role_for.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_role_for.png
index 6eb94b86a5..f27a8bac76 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_role_for.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_role_for.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:1f0ebed17464c2b5d95e76d539081f392bb3bda69fabc8839263b2f731f82a63
-size 148433
+oid sha256:92228d0d9c406af8a99d20a0a8a6c5ef19034b2ff027ee623f1d71dc8cb7a686
+size 142019
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_rows_selected.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_rows_selected.png
index 9c302af207..ac531b7934 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_rows_selected.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_rows_selected.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:7733b9179ceb89ded9320dc1b1308272bb6484566e7b16b3ac9ea05ad931dfdb
-size 149628
+oid sha256:d1972b1a02db2d753bb48abd3e9ad646ebb7194111987db90002f2633fa53b84
+size 143329
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_superuser_confirm.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_superuser_confirm.png
index 4c5d299107..604d4b89c1 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_superuser_confirm.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_superuser_confirm.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:e950de1b50fb83baefb26db632f207fae3cdd266fb5fd1eeb2f0387a913805eb
-size 15703
+oid sha256:556e3e32f67793bfb45a7fb1b618bc3f20a5c81fca3cc8049374c88674a5ee91
+size 15764
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_superuser_set.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_superuser_set.png
index 1cca8fb7af..8d74729401 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_superuser_set.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_superuser_set.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:3c28c4cfb17e59d033e1221bef2866a9bd7255b46d2c6a2e125e3dd34f3df25b
-size 38236
+oid sha256:f1abca771eb6a825aae8c61e0610e4e2245671a82ff64288ccc7e44e0aba41f6
+size 35717
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_superuser_tab.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_superuser_tab.png
index a8627afbfb..ca96e4ba7b 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_superuser_tab.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_superuser_tab.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:372b44f75286127555831254d0144d7229f0edbd85b76b4a1b93fba1b64ba590
-size 38209
+oid sha256:e0820361e0d3f14ff2365b371f9ce03fd3091fac743b9d5a894c03ffb63de4bd
+size 35608
diff --git a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_user_created.png b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_user_created.png
index 3714bf43b2..6bac6e2adf 100644
--- a/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_user_created.png
+++ b/plugins/UsersManager/tests/UI/expected-screenshots/UsersManager_user_created.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:d72a7e7046c00b669128fb9dba4954beacac38fa7cc0c480ba079ebdf8fd8463
-size 23620
+oid sha256:919aed46ab8faf80f4831e04c6a178c9bd7e709b7e12005454a7a42c35a4562b
+size 21780