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/Dashboard
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/Dashboard')
-rw-r--r--plugins/Dashboard/tests/UI/DashboardManager_spec.js110
-rw-r--r--plugins/Dashboard/tests/UI/Dashboard_spec.js377
-rw-r--r--plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_create_new.png4
-rw-r--r--plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_expanded.png4
-rw-r--r--plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_loaded.png4
-rw-r--r--plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_removed.png4
-rw-r--r--plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_widget_list_shown.png4
-rw-r--r--plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_widget_preview.png4
-rw-r--r--plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_change_layout.png4
-rw-r--r--plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_copied.png4
-rw-r--r--plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_create_new.png4
-rw-r--r--plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_default_widget_selection_changed.png4
-rw-r--r--plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_invalid_token_auth.png4
-rw-r--r--plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_loaded.png4
-rw-r--r--plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_loaded_token_auth.png4
-rw-r--r--plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_removed.png4
-rw-r--r--plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_rename.png4
-rw-r--r--plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_reset.png4
-rw-r--r--plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_rowevolution.png4
-rw-r--r--plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_segmented.png4
-rw-r--r--plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_add_widget.png4
-rw-r--r--plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_maximise.png4
-rw-r--r--plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_minimised.png4
-rw-r--r--plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_move.png4
-rw-r--r--plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_move_refresh.png3
-rw-r--r--plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_move_removed.png4
-rw-r--r--plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_move_unmaximise.png3
-rw-r--r--plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_move_unminimised.png3
-rw-r--r--plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_refresh.png3
-rw-r--r--plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_unmaximise.png3
-rw-r--r--plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_unminimise.png3
31 files changed, 321 insertions, 276 deletions
diff --git a/plugins/Dashboard/tests/UI/DashboardManager_spec.js b/plugins/Dashboard/tests/UI/DashboardManager_spec.js
index 01e834f6fc..2b51f19620 100644
--- a/plugins/Dashboard/tests/UI/DashboardManager_spec.js
+++ b/plugins/Dashboard/tests/UI/DashboardManager_spec.js
@@ -8,72 +8,84 @@
*/
describe("DashboardManager", function () {
-
this.timeout(0);
- var selectorToCapture = '.dashboard-manager,.dashboard-manager .dropdown';
+ const selectorToCapture = '.dashboard-manager,.dashboard-manager .dropdown';
+
+ const generalParams = 'idSite=1&period=day&date=2012-01-01';
+ const url = '?module=CoreHome&action=index&' + generalParams + '#?' + generalParams + '&category=Dashboard_Dashboard&subcategory=5';
- var generalParams = 'idSite=1&period=day&date=2012-01-01';
- var url = '?module=CoreHome&action=index&' + generalParams + '#?' + generalParams + '&category=Dashboard_Dashboard&subcategory=5';
+ it("should load correctly", async function() {
+ await page.goto(url);
- it("should load correctly", function (done) {
- expect.screenshot("loaded").to.be.captureSelector(selectorToCapture, function (page) {
- page.load(url);
- }, done);
+ expect(await page.screenshotSelector(selectorToCapture)).to.matchImage('loaded');
});
- it("should expand when clicked", function (done) {
- expect.screenshot("expanded").to.be.captureSelector(selectorToCapture, function (page) {
- page.click('.dashboard-manager .title');
- }, done);
+ it("should expand when clicked", async function() {
+ await page.click('.dashboard-manager .title');
+
+ expect(await page.screenshotSelector(selectorToCapture)).to.matchImage('expanded');
});
- it("should show widget for a category when category label hovered", function (done) {
- expect.screenshot("widget_list_shown").to.be.captureSelector(selectorToCapture, function (page) {
- page.mouseMove('.widgetpreview-categorylist>li:contains(Goals)'); // have to mouse move twice... otherwise Live! will just be highlighted
- page.mouseMove('.widgetpreview-categorylist>li:contains(Visitors):first');
- page.click('.widgetpreview-categorylist>li:contains(Visitors):first');
- }, done);
+ it("should show widget for a category when category label hovered", async function() {
+ live = await page.jQuery('.widgetpreview-categorylist>li:contains(Goals)');
+ await live.hover();
+
+ visitors = await page.jQuery('.widgetpreview-categorylist>li:contains(Visitors):first');
+ await visitors.hover();
+ await visitors.click();
+
+ await page.waitForNetworkIdle();
+
+ expect(await page.screenshotSelector(selectorToCapture)).to.matchImage('widget_list_shown');
});
- it("should load a widget preview when a widget is hovered", function (done) {
- expect.screenshot("widget_preview").to.be.captureSelector(selectorToCapture, function (page) {
- page.mouseMove('.widgetpreview-widgetlist>li:contains(Visits Over Time)');
- }, done);
+ it("should load a widget preview when a widget is hovered", async function() {
+ vot = await page.jQuery('.widgetpreview-widgetlist>li:contains(Visits Over Time)');
+ await vot.hover();
+
+ await page.waitForNetworkIdle();
+
+ expect(await page.screenshotSelector(selectorToCapture)).to.matchImage('widget_preview');
});
- it("should close the manager when a widget is selected", function (done) {
- expect.screenshot("loaded").to.be.captureSelector("widget_selected", selectorToCapture, function (page) {
- // make sure selecting a widget does nothing
- page.evaluate(function () {
- $('.dashboard-manager').data('uiControlObject').widgetSelected = function () {};
- });
+ it("should close the manager when a widget is selected", async function() {
+ // make sure selecting a widget does nothing
+ await page.evaluate(function () {
+ $('.dashboard-manager').data('uiControlObject').widgetSelected = function () {};
+ });
+
+ vot = await page.jQuery('.widgetpreview-widgetlist>li:contains(Visits Over Time)');
+ await vot.click();
+
+ await page.waitForNetworkIdle();
- page.click('.widgetpreview-widgetlist>li:contains(Visits Over Time)');
- }, done);
+ expect(await page.screenshotSelector(selectorToCapture)).to.matchImage('loaded');
});
- it("should create new dashboard with new default widget selection when create dashboard process completed", function (done) {
- expect.screenshot("create_new").to.be.capture(function (page) {
- page.click('.dashboard-manager .title');
- page.click('li[data-action=createDashboard]');
- page.sendKeys('#createDashboardName', 'newdash2');
- page.click('.modal.open .modal-footer a:contains(Ok)');
+ it("should create new dashboard with new default widget selection when create dashboard process completed", async function() {
+ await page.click('.dashboard-manager .title');
+ await page.click('li[data-action="createDashboard"]');
+ await page.type('#createDashboardName', 'newdash2');
+ button = await page.jQuery('.modal.open .modal-footer a:contains(Ok)');
+ await button.click();
- page.wait(2000);
- }, done);
+ await page.waitForFunction('$("ul.navbar ul li.active:contains(newdash2)").length > 0');
+ await page.waitFor(500);
+ await page.waitForNetworkIdle();
+
+ expect(await page.screenshot({ fullPage: true })).to.matchImage('create_new');
});
- it("should remove dashboard when remove dashboard process completed", function (done) {
- expect.screenshot("removed").to.be.capture(function (page) {
- page.contains('ul.navbar ul li.sfActive:contains(newdash2)');
- page.click('.dashboard-manager .title');
- page.click('li[data-action=removeDashboard]');
- page.click('.modal.open .modal-footer a:contains(Yes)');
- page.mouseMove('.dashboard-manager');
- page.evaluate(function () {
- $('.widgetTop').removeClass('widgetTopHover');
- });
- }, done);
+ it("should remove dashboard when remove dashboard process completed", async function() {
+ await page.click('.dashboard-manager .title');
+ await page.click('li[data-action="removeDashboard"]');
+ button = await page.jQuery('.modal.open .modal-footer a:contains(Yes)');
+ await button.click();
+
+ await page.waitFor(500);
+ await page.waitForNetworkIdle();
+
+ expect(await page.screenshot({ fullPage: true })).to.matchImage('removed');
});
}); \ No newline at end of file
diff --git a/plugins/Dashboard/tests/UI/Dashboard_spec.js b/plugins/Dashboard/tests/UI/Dashboard_spec.js
index 84c4de483a..af060caac9 100644
--- a/plugins/Dashboard/tests/UI/Dashboard_spec.js
+++ b/plugins/Dashboard/tests/UI/Dashboard_spec.js
@@ -13,31 +13,29 @@ describe("Dashboard", function () {
var url = "?module=Widgetize&action=iframe&idSite=1&period=year&date=2012-08-09&moduleToWidgetize=Dashboard&"
+ "actionToWidgetize=index&idDashboard=5";
- var removeAllExtraDashboards = function (done) {
- testEnvironment.callController("Dashboard.getAllDashboards", {}, function (err, dashboards) {
- dashboards = (dashboards || []).filter(function (dash) {
- return parseInt(dash.iddashboard) > 5;
- });
-
- var removeDashboard = function (i) {
- if (i >= dashboards.length) {
- done();
- return;
- }
+ var removeAllExtraDashboards = async function() {
+ var dashboards = await testEnvironment.callController("Dashboard.getAllDashboards", {});
+ dashboards = (dashboards || []).filter(function (dash) {
+ return parseInt(dash.iddashboard) > 5;
+ });
- console.log("Removing dashboard ID = " + dashboards[i].iddashboard);
- testEnvironment.callApi("Dashboard.removeDashboard", {idDashboard: dashboards[i].iddashboard}, function () {
- removeDashboard(i + 1);
- });
- };
+ var removeDashboard = async function (i) {
+ if (i >= dashboards.length) {
+ return;
+ }
- removeDashboard(0);
- });
+ console.log("Removing dashboard ID = " + dashboards[i].iddashboard);
+ await testEnvironment.callApi("Dashboard.removeDashboard", {idDashboard: dashboards[i].iddashboard});
+ await removeDashboard(i + 1);
+ };
+
+ await removeDashboard(0);
};
- var setup = function (done) {
+ var setup = async function() {
// make sure live widget doesn't refresh constantly for UI tests
testEnvironment.overrideConfig('General', 'live_widget_refresh_after_seconds', 1000000);
+ testEnvironment.testUseMockAuth = 1;
testEnvironment.save();
// save empty layout for dashboard ID = 5
@@ -52,214 +50,249 @@ describe("Dashboard", function () {
[]
];
- testEnvironment.callController("Dashboard.saveLayout", {name: 'D4', layout: JSON.stringify(layout), idDashboard: 5, idSite: 2}, function () {
- // reset default widget selection
- testEnvironment.callController("Dashboard.saveLayoutAsDefault", {layout: 0}, function () {
- removeAllExtraDashboards(done);
- });
- });
+ await testEnvironment.callController("Dashboard.saveLayout", {name: 'D4', layout: JSON.stringify(layout), idDashboard: 5, idSite: 2});
+ await testEnvironment.callController("Dashboard.saveLayoutAsDefault", {layout: 0});
+ await removeAllExtraDashboards();
};
before(setup);
after(setup);
- it("should load correctly", function (done) {
- expect.screenshot("loaded").to.be.capture(function (page) {
- page.load(url, 5000);
- }, done);
+ it("should load correctly", async function() {
+ await page.goto(url);
+ await page.waitForNetworkIdle();
+
+ expect(await page.screenshot({ fullPage: true })).to.matchImage('loaded');
});
- it("should move a widget when widget is drag & dropped", function (done) {
- expect.screenshot("widget_move").to.be.capture(function (page) {
- page.mousedown('.widgetTop');
- page.mouseMove('#dashboardWidgetsArea > .col:eq(2)');
- page.mouseup('#dashboardWidgetsArea > .col:eq(2)');
- }, done);
+ it("should move a widget when widget is drag & dropped", async function() {
+ var widget = await page.$('.widgetTop');
+ await widget.hover();
+ await page.mouse.down();
+
+ var col2 = await page.jQuery('#dashboardWidgetsArea > .col:eq(2)');
+ await col2.hover();
+ await page.mouse.up();
+ await page.mouse.move(-10, -10);
+
+ expect(await page.screenshot({ fullPage: true })).to.matchImage('widget_move');
});
- it("should refresh widget when widget refresh icon clicked", function (done) {
- expect.screenshot("widget_move_refresh").to.be.capture(function (page) {
- page.mouseMove('.widgetTop');
- page.click('.button#refresh');
- page.mouseMove('.dashboard-manager'); // let widget top hide again
- }, done);
+ it("should refresh widget when widget refresh icon clicked", async function() {
+ var widget = await page.$('.widgetTop');
+ await widget.hover();
+
+ await page.click('.button#refresh');
+ await page.mouse.move(-10, -10);
+
+ await page.waitForNetworkIdle();
+
+ expect(await page.screenshot({ fullPage: true })).to.matchImage('widget_refresh');
});
- it("should minimise widget when widget minimise icon clicked", function (done) {
- expect.screenshot("widget_minimised").to.be.capture(function (page) {
- page.mouseMove('.widgetTop');
- page.click('.button#minimise');
- }, done);
+ it("should minimise widget when widget minimise icon clicked", async function() {
+ var widget = await page.$('.widgetTop');
+ await widget.hover();
+ await page.click('.button#minimise');
+
+ expect(await page.screenshot({ fullPage: true })).to.matchImage('widget_minimised');
});
- it("should unminimise widget when widget maximise icon is clicked after being minimised", function (done) {
- expect.screenshot("widget_move_unminimised").to.be.capture(function (page) {
- page.mouseMove('.widgetTop');
- page.click('.button#maximise');
- page.mouseMove('.dashboard-manager'); // let widget top hide again
- }, done);
+ it("should unminimise widget when widget maximise icon is clicked after being minimised", async function() {
+ var widget = await page.$('.widgetTop');
+ await widget.hover();
+ await page.click('.button#maximise');
+ await page.mouse.move(-10, -10);
+
+ expect(await page.screenshot({ fullPage: true })).to.matchImage('widget_unminimise');
});
- it("should maximise widget when widget maximise icon is clicked", function (done) {
- expect.screenshot("widget_maximise").to.be.capture(function (page) {
- page.mouseMove('.widgetTop');
- page.click('.button#maximise');
- }, done);
+ it("should maximise widget when widget maximise icon is clicked", async function() {
+ var widget = await page.$('.widgetTop');
+ await widget.hover();
+ await page.click('.button#maximise');
+
+ expect(await page.screenshot({ fullPage: true })).to.matchImage('widget_maximise');
});
- it("should close maximise dialog when minimise icon is clicked", function (done) {
- expect.screenshot("widget_move_unmaximise").to.be.capture(function (page) {
- page.mouseMove('.widgetTop');
- page.click('.button#minimise');
- page.mouseMove('.dashboard-manager'); // let widget top hide again
- }, done);
+ it("should close maximise dialog when minimise icon is clicked", async function() {
+ var widget = await page.$('.widgetTop');
+ await widget.hover();
+ await page.click('.button#minimise');
+
+ expect(await page.screenshot({ fullPage: true })).to.matchImage('widget_unmaximise');
});
- it("should add a widget when a widget is selected in the dashboard manager", function (done) {
- expect.screenshot("widget_add_widget").to.be.capture(function (page) {
- page.click('.dashboard-manager .title');
+ it("should add a widget when a widget is selected in the dashboard manager", async function() {
+ await page.click('.dashboard-manager .title');
+
+ var live = await page.jQuery('.widgetpreview-categorylist>li:contains(Goals)'); // have to mouse move twice... otherwise Live! will just be highlighted
+ await live.hover();
+ await live.click();
- page.mouseMove('.widgetpreview-categorylist>li:contains(Goals)'); // have to mouse move twice... otherwise Live! will just be highlighted
- page.click('.widgetpreview-categorylist>li:contains(Goals)');
+ var behaviour = await page.jQuery('.widgetpreview-categorylist>li:contains(Behaviour):first');
+ await behaviour.hover();
+ await behaviour.click();
- page.mouseMove('.widgetpreview-categorylist>li:contains(Behaviour):first');
- page.click('.widgetpreview-categorylist>li:contains(Behaviour):first');
+ var pages = await page.jQuery('.widgetpreview-widgetlist>li:contains(Pages):first');
+ await pages.hover();
+ await pages.click();
- page.mouseMove('.widgetpreview-widgetlist>li:contains(Pages):first');
- page.click('.widgetpreview-widgetlist>li:contains(Pages):first');
- }, done);
+ await page.waitForNetworkIdle();
+
+ expect(await page.screenshot({ fullPage: true })).to.matchImage('widget_add_widget');
});
- it("should open row evolution", function (done) {
- expect.screenshot("rowevolution").to.be.captureSelector('.ui-dialog:visible', function (page) {
- page.mouseMove('#widgetActionsgetPageUrls table.dataTable tbody tr:contains(thankyou) td:first-child', 100);
- page.mouseMove('a.actionRowEvolution:visible'); // necessary to get popover to display
- page.click('a.actionRowEvolution:visible', 2000);
- }, done);
+ it("should open row evolution", async function() {
+ var row = await page.jQuery('#dashboardWidgetsArea .dataTable tbody td:contains(thankyou)');
+ await row.hover();
+ var icon = await page.waitForSelector('#dashboardWidgetsArea .dataTable tbody a.actionRowEvolution');
+ await icon.click();
+ await page.waitForSelector('.ui-dialog');
+ await page.waitForNetworkIdle();
+ var dialog = await page.$('.ui-dialog');
+ expect(await dialog.screenshot()).to.matchImage('rowevolution');
});
- it("should remove widget when remove widget icon is clicked", function (done) {
- expect.screenshot("widget_move_removed").to.be.capture(function (page) {
- page.click('.ui-dialog-titlebar-close:visible'); // close row evolution
+ it("should remove widget when remove widget icon is clicked", async function() {
+ await page.click('.ui-dialog-titlebar-close'); // close row evolution
+
+ var widget = '[id="widgetActionsgetPageUrls"]';
+
+ var titlebar = await page.$(widget + ' .widgetTop');
+ await titlebar.hover();
+
+ var icon = await page.$(widget + ' .button#close');
+ await icon.click();
- var widget = '[id="widgetActionsgetPageUrls"]';
+ var button = await page.jQuery('.modal.open .modal-footer a:contains(Yes)');
+ await button.click();
- page.mouseMove(widget + ' .widgetTop');
- page.click(widget + ' .button#close');
+ await page.waitFor(250);
+ await page.mouse.move(-10, -10);
- page.click('.modal.open .modal-footer a:contains(Yes)');
- page.mouseMove('.dashboard-manager');
- }, done);
+ expect(await page.screenshot({ fullPage: true })).to.matchImage('widget_move_removed');
});
- it("should change dashboard layout when new layout is selected", function (done) {
- expect.screenshot("change_layout").to.be.capture(function (page) {
- page.click('.dashboard-manager .title');
- page.click('li[data-action=showChangeDashboardLayoutDialog]');
- page.click('.modal.open div[layout=50-50]');
- page.click('.modal.open .modal-footer a:contains(Save)');
- }, done);
+ it("should change dashboard layout when new layout is selected", async function() {
+ await page.click('.dashboard-manager .title');
+ await page.click('li[data-action="showChangeDashboardLayoutDialog"]');
+ await page.click('.modal.open div[layout="50-50"]');
+ var button = await page.jQuery('.modal.open .modal-footer a:contains(Save)');
+ await button.click();
+ await page.mouse.move(-10, -10);
+
+ expect(await page.screenshot({ fullPage: true })).to.matchImage('change_layout');
});
- it("should rename dashboard when dashboard rename process completed", function (done) {
- expect.screenshot("rename").to.be.capture(function (page) {
- page.click('.dashboard-manager .title');
- page.click('li[data-action=renameDashboard]');
- page.evaluate(function () {
- $('#newDashboardName:visible').val('newname'); // don't use sendKeys or click, since in this test it appears to trigger a seg fault on travis
- $('.modal.open .modal-footer a:contains(Save):visible').click();
- });
- }, done);
+ it("should rename dashboard when dashboard rename process completed", async function() {
+ await page.click('.dashboard-manager .title');
+ await page.click('li[data-action="renameDashboard"]');
+ var input = await page.$('#newDashboardName');
+ await input.press('Backspace'); // remove char
+ await input.press('Backspace'); // remove char
+ await input.type('newname');
+ var button = await page.jQuery('.modal.open .modal-footer a:contains(Save)');
+ await button.click();
+ await page.waitForNetworkIdle();
+
+ expect(await page.screenshot({ fullPage: true })).to.matchImage('rename');
});
- it("should copy dashboard successfully when copy dashboard process completed", function (done) {
- expect.screenshot("copied").to.be.capture(function (page) {
- page.click('.dashboard-manager .title');
- page.click('li[data-action=copyDashboardToUser]');
- page.evaluate(function () {
- $('[id=copyDashboardName]:last').val('');
- });
- page.sendKeys('[id=copyDashboardName]:last', 'newdash');
- page.evaluate(function () {
- $('[id=copyDashboardUser]:last').val('superUserLogin');
- });
- page.click('.modal.open .modal-footer a:contains(Ok)');
-
- page.load(url.replace("idDashboard=5", "idDashboard=6"));
- }, done);
+ it("should copy dashboard successfully when copy dashboard process completed", async function() {
+ await page.click('.dashboard-manager .title');
+ await page.click('li[data-action="copyDashboardToUser"]');
+ await page.waitFor(100); // wait for animation
+ await page.evaluate(function () {
+ $('#copyDashboardName').val('');
+ });
+ await page.type('#copyDashboardName', 'newdash');
+ await page.waitForSelector('#copyDashboardUser [value="superUserLogin"]');
+ await page.select('#copyDashboardUser', 'superUserLogin');
+ var button = await page.jQuery('.modal.open .modal-footer a:contains(Ok)');
+ await button.click();
+ await page.waitForFunction("$('.ui-confirm :contains(\"Current dashboard successfully copied to selected user.\").length > 0')");
+
+ await page.goto(url.replace("idDashboard=5", "idDashboard=6"));
+ await page.waitForNetworkIdle();
+
+ expect(await page.screenshot({ fullPage: true })).to.matchImage('copied');
});
- it("should reset dashboard when reset dashboard process completed", function (done) {
- this.retries(3);
- expect.screenshot("reset").to.be.capture(function (page) {
- page.click('.dashboard-manager .title');
- page.click('li[data-action=resetDashboard]');
- page.click('.modal.open .modal-footer a:contains(Yes)', 4000);
- page.evaluate(function(){
- $('#widgetReferrersgetReferrerType').hide();
- $('#widgetReferrersgetReferrerType').offsetHeight;
- $('#widgetReferrersgetReferrerType').show();
- }, 100);
- page.mouseMove('.dashboard-manager');
- }, done);
+ it("should reset dashboard when reset dashboard process completed", async function() {
+ await page.click('.dashboard-manager .title');
+ await page.click('li[data-action="resetDashboard"]');
+ await page.waitForSelector('.modal.open');
+ var button = await page.jQuery('.modal.open .modal-footer a:contains(Yes)');
+ await button.click();
+ await page.waitForNetworkIdle();
+ await page.mouse.move(-10, -10);
+
+ expect(await page.screenshot({ fullPage: true })).to.matchImage('reset');
});
- it("should remove dashboard when remove dashboard process completed", function (done) {
- expect.screenshot("removed").to.be.capture(function (page) {
- page.click('.dashboard-manager .title');
- page.click('li[data-action=removeDashboard]');
- page.click('.modal.open .modal-footer a:contains(Yes)');
- page.mouseMove('.dashboard-manager');
- page.evaluate(function () {
- $('.widgetTop').removeClass('widgetTopHover');
- });
- }, done);
+ it("should remove dashboard when remove dashboard process completed", async function() {
+ await page.click('.dashboard-manager .title');
+ await page.click('li[data-action="removeDashboard"]');
+ await page.waitForSelector('.modal.open');
+ var button = await page.jQuery('.modal.open .modal-footer a:contains(Yes)');
+ await button.click();
+ await page.mouse.move(-10, -10);
+ await page.waitFor(200);
+ await page.waitForNetworkIdle();
+
+ expect(await page.screenshot({ fullPage: true })).to.matchImage('removed');
});
- it("should not fail when default widget selection changed", function (done) {
- expect.screenshot("default_widget_selection_changed").to.be.capture(function (page) {
- page.load(url);
- page.click('.dashboard-manager .title');
- page.click('li[data-action=setAsDefaultWidgets]');
- page.click('.modal.open .modal-footer a:contains(Yes)');
- }, done);
+ it("should not fail when default widget selection changed", async function() {
+ await page.goto(url);
+ await page.click('.dashboard-manager .title');
+ await page.click('li[data-action="setAsDefaultWidgets"]');
+ var button = await page.jQuery('.modal.open .modal-footer a:contains(Yes)');
+ await button.click();
+ await page.waitFor(200);
+ await page.waitForNetworkIdle();
+
+ expect(await page.screenshot({ fullPage: true })).to.matchImage('default_widget_selection_changed');
});
- it("should create new dashboard with new default widget selection when create dashboard process completed", function (done) {
- expect.screenshot("create_new").to.be.capture(function (page) {
- page.click('.dashboard-manager .title');
- page.click('li[data-action=createDashboard]');
- page.sendKeys('#createDashboardName:visible', 'newdash2');
- page.click('.modal.open .modal-footer a:contains(Ok)');
- }, done);
+ it("should create new dashboard with new default widget selection when create dashboard process completed", async function() {
+ await page.click('.dashboard-manager .title');
+ await page.click('li[data-action="createDashboard"]');
+ await page.waitForSelector('#createDashboardName'); // await animation
+ await page.type('#createDashboardName', 'newdash2');
+ var button = await page.jQuery('.modal.open .modal-footer a:contains(Ok)');
+ await button.click();
+ await page.waitForNetworkIdle();
+
+ expect(await page.screenshot({ fullPage: true })).to.matchImage('create_new');
});
- it("should load segmented dashboard", function (done) {
- removeAllExtraDashboards(function(){
- expect.screenshot("segmented").to.be.capture(function (page) {
- page.load(url + '&segment=' + encodeURIComponent("browserCode==FF"), 5000);
- }, done);
- });
+ it("should load segmented dashboard", async function() {
+ await removeAllExtraDashboards();
+ await page.goto(url + '&segment=' + encodeURIComponent("browserCode==FF"));
+
+ expect(await page.screenshot({ fullPage: true })).to.matchImage('segmented');
});
- it("should load correctly with token_auth", function (done) {
+ it("should load correctly with token_auth", async function() {
testEnvironment.testUseMockAuth = 0;
testEnvironment.save();
- expect.screenshot("loaded_token_auth").to.be.capture(function (page) {
- var tokenAuth = "9ad1de7f8b329ab919d854c556f860c1";
- page.load(url.replace("idDashboard=5", "idDashboard=1") + '&token_auth=' + tokenAuth, 5000);
- }, done);
+ var tokenAuth = "9ad1de7f8b329ab919d854c556f860c1";
+ await page.goto(url.replace("idDashboard=5", "idDashboard=1") + '&token_auth=' + tokenAuth);
+
+ expect(await page.screenshot({ fullPage: true })).to.matchImage('loaded_token_auth');
});
- it("should fail to load with invalid token_auth", function (done) {
+ it("should fail to load with invalid token_auth", async function() {
testEnvironment.testUseMockAuth = 0;
testEnvironment.save();
- expect.screenshot("invalid_token_auth").to.be.capture(function (page) {
- var tokenAuth = "anyInvalidToken";
- page.load(url.replace("idDashboard=5", "idDashboard=1") + '&token_auth=' + tokenAuth, 5000);
- }, done);
+ var tokenAuth = "anyInvalidToken";
+ await page.goto(url.replace("idDashboard=5", "idDashboard=1") + '&token_auth=' + tokenAuth);
+
+ expect(await page.screenshot({ fullPage: true })).to.matchImage('invalid_token_auth');
});
});
diff --git a/plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_create_new.png b/plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_create_new.png
index 5cb96af247..d3b0e150b5 100644
--- a/plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_create_new.png
+++ b/plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_create_new.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:d3e87f160d23ceb5a902aaefab1c9c3d24e9dfee7ef203db18636dcb7c48bb99
-size 59226
+oid sha256:e17ceb26b2b536e9a0f90eb78aed0681a38bd1748d569d3f0db003fcbf76cba9
+size 249197
diff --git a/plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_expanded.png b/plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_expanded.png
index 4940629a26..a6c4f44a50 100644
--- a/plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_expanded.png
+++ b/plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_expanded.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:54987077047a0982aed0a43c3e1cd23558a383b3f70b24c92ad0c0d6db90e532
-size 53349
+oid sha256:2f0f3cadb1811d36b3a1a36f034b5edaa0d7c997cc596cbfdacf54bb04ec0e6e
+size 51756
diff --git a/plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_loaded.png b/plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_loaded.png
index 308166b7b8..ba464930b6 100644
--- a/plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_loaded.png
+++ b/plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_loaded.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:71c01c9a9791f4de8fb9a5577c3285facb28f49a569afa8f973f90b19c0126e2
-size 1490
+oid sha256:7b43bfb009afb43625ffbb9b84501e0ebb464aef2fbcbc328bfff8431dd621a2
+size 1655
diff --git a/plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_removed.png b/plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_removed.png
index 0904afb99a..3931a45254 100644
--- a/plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_removed.png
+++ b/plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_removed.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:8eef795ccd2928d1ece55fd5d1efe543107249bfae928fd1fdd4a53d19790fd9
-size 451403
+oid sha256:7c5674ae15e520a9a49b7349b62eeb6bcd76b68f8e9d9ed9aded072843661218
+size 423373
diff --git a/plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_widget_list_shown.png b/plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_widget_list_shown.png
index df2ac7414d..0965e6ee24 100644
--- a/plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_widget_list_shown.png
+++ b/plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_widget_list_shown.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:206996833dcb54a1a8539a3214a69b0caa2c2c161990555ea8916fec6172fec8
-size 67501
+oid sha256:0ee7e32f0e26aac42edb3690df6622193a35c05bcc5764c480d03bcfd60d202e
+size 65094
diff --git a/plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_widget_preview.png b/plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_widget_preview.png
index 7e7f3319b0..03cb3fc3d7 100644
--- a/plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_widget_preview.png
+++ b/plugins/Dashboard/tests/UI/expected-screenshots/DashboardManager_widget_preview.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:e6146ae5cd1b914c11295f5cce7201adf610342c7414df81a07cde0ea6f7ee5e
-size 79461
+oid sha256:5865cc1cc84700e69310edf378620a60ea322268c6439848fbed31513e743a37
+size 76485
diff --git a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_change_layout.png b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_change_layout.png
index 6c83b79862..495e8a6c80 100644
--- a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_change_layout.png
+++ b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_change_layout.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:3fbb3bcd1326d5353a8226d123108b1abdbcf48a18db262da342b1a14e54bd1a
-size 29759
+oid sha256:595d831aa440d54ddd8a6a8cf4b8f731646dbc35846f22cde7f13cfa513c8d6f
+size 29673
diff --git a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_copied.png b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_copied.png
index 4090027baf..ee3d33cf62 100644
--- a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_copied.png
+++ b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_copied.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:e19999ac9eb7288f89886e7639ce0009c9762aba925ae03408dee084b55da5bf
-size 29394
+oid sha256:4c09b752dcdab2badab6d30c5b8732ae42a6c33bac291085aa3bf91d51beb5ad
+size 29685
diff --git a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_create_new.png b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_create_new.png
index d765641a32..6528a0e820 100644
--- a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_create_new.png
+++ b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_create_new.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:5c2c5357f393f17f36196d4fb1b611f8dd05c0148fe06b2acb12b66342b7eae5
-size 29550
+oid sha256:280941c92001b94febadf9b867083f0000b91a34a24645f136c83b6f46b6f55f
+size 29841
diff --git a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_default_widget_selection_changed.png b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_default_widget_selection_changed.png
index 3274329bc3..6b720a974b 100644
--- a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_default_widget_selection_changed.png
+++ b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_default_widget_selection_changed.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:55363bcc0e3959992e649bba035cda8c4597c64c324b49c4aec37f34c197d550
-size 28660
+oid sha256:0ba11a04fa17bf4c2b7d5ca9563ee1eeb5231d01c0b33d274ba9e9d96718c96b
+size 29085
diff --git a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_invalid_token_auth.png b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_invalid_token_auth.png
index 514e68a52d..aaade54e23 100644
--- a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_invalid_token_auth.png
+++ b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_invalid_token_auth.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:a2882f7effbf816a911ff31ab4880f0866db99b68f67f93334e748309f03ffda
-size 35846
+oid sha256:af9241fbdd323e8141de6e25a56cd22028f5b3fc738fda85591309276cd40d12
+size 34604
diff --git a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_loaded.png b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_loaded.png
index 7a1027e4ca..35b9bb5357 100644
--- a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_loaded.png
+++ b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_loaded.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:e115ec422c550ae44b2c3c117ed016ec734ae8f73932a6407f5c0f16ce8260d8
-size 30437
+oid sha256:19f76640028fb70afa0bde31ee65c02cd9ac40b66b9ede2ac2e067f32d9ab348
+size 28882
diff --git a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_loaded_token_auth.png b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_loaded_token_auth.png
index 8562db968b..8029f27ee4 100644
--- a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_loaded_token_auth.png
+++ b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_loaded_token_auth.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:98b2d43a636e15844d02456adb19416cc66f7c0c92e5361e41bda95ceca0d33e
-size 653810
+oid sha256:2702dca9f3584c5bb3a6fc3642ec381d183a0d56a5787c5b3e09adcb5dab6802
+size 626549
diff --git a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_removed.png b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_removed.png
index 1c29d0f30d..8029f27ee4 100644
--- a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_removed.png
+++ b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_removed.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:2388da5bc654b90aa6c072a4309c5e5e9123a12a333de3be089884ec49229b45
-size 653374
+oid sha256:2702dca9f3584c5bb3a6fc3642ec381d183a0d56a5787c5b3e09adcb5dab6802
+size 626549
diff --git a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_rename.png b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_rename.png
index f842d78952..1a850b6890 100644
--- a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_rename.png
+++ b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_rename.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:bd57c5e5709371eb229e55e4ca7e34309aefd6d7367a0bdf51521a669ec6d2e6
-size 28867
+oid sha256:1a85be9077895a08e5413e79fa117fee3ace60fdf1be970b07695d5d4639f7d6
+size 29087
diff --git a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_reset.png b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_reset.png
index 21aaaaa400..e02031f56f 100644
--- a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_reset.png
+++ b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_reset.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:902bfbfa2f9851e49a3a94b5db10b21eb3d7883026a4dc01c2c8559fc318e4d6
-size 248398
+oid sha256:001d248175369f3c5bbbcd5fa19d5dc66ede98956cebf56a4315869734198aee
+size 241560
diff --git a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_rowevolution.png b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_rowevolution.png
index c5fed5d909..15dbb81dc7 100644
--- a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_rowevolution.png
+++ b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_rowevolution.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:d8c836418f1dbdc7ac6155f5ecee2a05fc490680db203f36b48f70f5230a0d99
-size 73414
+oid sha256:025fb43ffd1ac7c6b813e4eb2b20b3cd0eb0e673bf4b8609af74e251af02ae12
+size 72127
diff --git a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_segmented.png b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_segmented.png
index a7b465b3fb..edc654acd8 100644
--- a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_segmented.png
+++ b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_segmented.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:343ae72a3dd676ab7a86de90f84e830b0e6f4d11b452a92f9efaafec964fbf50
-size 31523
+oid sha256:e3336e9381b11a1938c94269607e9e420aef1c4d3dd09f2bcfb739cc42776c5b
+size 31865
diff --git a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_add_widget.png b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_add_widget.png
index a06e635bf3..f66beac16a 100644
--- a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_add_widget.png
+++ b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_add_widget.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:a5d00ab29adb7a0f29fe6cd5931128c8f5a413f3bf66f37978d3ae1fa7ceee26
-size 200238
+oid sha256:dc759fd7379dbafda36e46abc66de15c16ead1501d8f2343d17c0d7117f46875
+size 200256
diff --git a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_maximise.png b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_maximise.png
index 21f7d977df..70893a6111 100644
--- a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_maximise.png
+++ b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_maximise.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:dfa1ed43d99fdb3ca9e3ccef7821458692d72a3f05f0456cc89106743c73cf95
-size 30966
+oid sha256:62676c6eb59b44ccda3c83190b630a8d59487bb0617072692ca97f35e6559691
+size 31405
diff --git a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_minimised.png b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_minimised.png
index fe9e3147ea..8628c01759 100644
--- a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_minimised.png
+++ b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_minimised.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:a2e12425dc2be789e4c418770b7b669c703bb7eb260f979fc8f0f875b036b9b0
-size 21709
+oid sha256:77ecba45cac6b17fe89383d62d9ff8b5bfc0389225f8dc1a266171b1746b50d5
+size 22292
diff --git a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_move.png b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_move.png
index eb0ca18fff..5db5a6857e 100644
--- a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_move.png
+++ b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_move.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:ac891ae670a7787e73d49c1809a3195ec2bf5ca73a5463062b98a8dfadf3aeb4
-size 30364
+oid sha256:d6131a74a32ea46f15d41d36956952dca1793fd1a8d0f8cd6f6bd46cb3e365dd
+size 28938
diff --git a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_move_refresh.png b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_move_refresh.png
deleted file mode 100644
index e2adfac7b0..0000000000
--- a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_move_refresh.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:1a73ddc2b4f3b9705f6e1285dada6ac401fb18f416436a2ae408e63adb0168bf
-size 28939
diff --git a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_move_removed.png b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_move_removed.png
index e2adfac7b0..5db5a6857e 100644
--- a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_move_removed.png
+++ b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_move_removed.png
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:1a73ddc2b4f3b9705f6e1285dada6ac401fb18f416436a2ae408e63adb0168bf
-size 28939
+oid sha256:d6131a74a32ea46f15d41d36956952dca1793fd1a8d0f8cd6f6bd46cb3e365dd
+size 28938
diff --git a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_move_unmaximise.png b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_move_unmaximise.png
deleted file mode 100644
index e2adfac7b0..0000000000
--- a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_move_unmaximise.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:1a73ddc2b4f3b9705f6e1285dada6ac401fb18f416436a2ae408e63adb0168bf
-size 28939
diff --git a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_move_unminimised.png b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_move_unminimised.png
deleted file mode 100644
index e2adfac7b0..0000000000
--- a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_move_unminimised.png
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:1a73ddc2b4f3b9705f6e1285dada6ac401fb18f416436a2ae408e63adb0168bf
-size 28939
diff --git a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_refresh.png b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_refresh.png
new file mode 100644
index 0000000000..5db5a6857e
--- /dev/null
+++ b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_refresh.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d6131a74a32ea46f15d41d36956952dca1793fd1a8d0f8cd6f6bd46cb3e365dd
+size 28938
diff --git a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_unmaximise.png b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_unmaximise.png
new file mode 100644
index 0000000000..17c9791da9
--- /dev/null
+++ b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_unmaximise.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:9bb9f0e02802c6467ea92fd1652f7a2a41c6dae9ad95ee40726939193184d1a1
+size 30544
diff --git a/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_unminimise.png b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_unminimise.png
new file mode 100644
index 0000000000..5db5a6857e
--- /dev/null
+++ b/plugins/Dashboard/tests/UI/expected-screenshots/Dashboard_widget_unminimise.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d6131a74a32ea46f15d41d36956952dca1793fd1a8d0f8cd6f6bd46cb3e365dd
+size 28938