From 10decda94e63322b55194335b0d5a8d26605d2c4 Mon Sep 17 00:00:00 2001 From: Shefali Joshi Date: Tue, 7 Feb 2023 15:19:50 -0800 Subject: [PATCH] When auto scale is turned off, handle user specified range correctly (#6258) * Fix typo when saving the user specified range * Ensure range is specified when autoscale is turned off * Don't redraw unless absolutely necessary * Add 'stats' to the handled attributes for redrawing plots * Handle x axis displayRange, marker shape and size to redraw * If there are is no closest data point for a plot, skip annotation gathering * Ensure that min and max user defined ranges are valid when autoscale is disabled. Otherwise, enable autoscale to true. * Fix autoscale e2e test * updated snapshot * Update e2e/README.md Co-authored-by: Jesse Mazzella Co-authored-by: John Hill Co-authored-by: Jesse Mazzella --- e2e/README.md | 21 ++++- .../plugins/plot/autoscale.e2e.spec.js | 60 ++++++++----- .../autoscale-canvas-panned-chrome-darwin.png | Bin 16185 -> 19847 bytes .../autoscale-canvas-panned-chrome-linux.png | Bin 15796 -> 15175 bytes .../autoscale-canvas-prepan-chrome-darwin.png | Bin 18393 -> 19841 bytes .../autoscale-canvas-prepan-chrome-linux.png | Bin 18089 -> 15944 bytes src/plugins/plot/MctPlot.vue | 2 +- src/plugins/plot/chart/MctChart.vue | 82 +++++++++++++++--- src/plugins/plot/configuration/PlotSeries.js | 1 + src/plugins/plot/configuration/YAxisModel.js | 33 +++---- .../plot/inspector/PlotOptionsBrowse.vue | 12 +-- .../plot/inspector/forms/YAxisForm.vue | 34 +++++--- 12 files changed, 169 insertions(+), 76 deletions(-) diff --git a/e2e/README.md b/e2e/README.md index 9702bae04e..052a188325 100644 --- a/e2e/README.md +++ b/e2e/README.md @@ -89,7 +89,7 @@ Read more about [Playwright Snapshots](https://playwright.dev/docs/test-snapshot #### Open MCT's implementation - Our Snapshot tests receive a `@snapshot` tag. -- Snapshots need to be executed within the official Playwright container to ensure we're using the exact rendering platform in CI and locally. +- Snapshots need to be executed within the official Playwright container to ensure we're using the exact rendering platform in CI and locally. To do a valid comparison locally: ```sh docker run --rm --network host -v $(pwd):/work/ -w /work/ -it mcr.microsoft.com/playwright:[GET THIS VERSION FROM OUR CIRCLECI CONFIG FILE]-focal /bin/bash @@ -97,9 +97,24 @@ npm install npx playwright test --config=e2e/playwright-ci.config.js --project=chrome --grep @snapshot ``` -### (WIP) Updating Snapshots +### Updating Snapshots -When the `@snapshot` tests fail, they will need to be evaluated to see if the failure is an acceptable change or +When the `@snapshot` tests fail, they will need to be evaluated to determine if the failure is an acceptable and desireable or an unintended regression. + +To compare a snapshot, run a test and open the html report with the 'Expected' vs 'Actual' screenshot. If the actual screenshot is preferred, then the source-controlled 'Expected' snapshots will need to be updated with the following scripts. + +MacOS +``` +npm run test:e2e:updatesnapshots +``` + +Linux/CI +```sh +// Replace {X.X.X} with the current Playwright version +// from our package.json or circleCI configuration file +docker run --rm --network host -v $(pwd):/work/ -w /work/ -it mcr.microsoft.com/playwright:v{X.X.X}-focal /bin/bash +npm install +npm run test:e2e:updatesnapshots ## Performance Testing diff --git a/e2e/tests/functional/plugins/plot/autoscale.e2e.spec.js b/e2e/tests/functional/plugins/plot/autoscale.e2e.spec.js index fb9a2e2a73..608fa03605 100644 --- a/e2e/tests/functional/plugins/plot/autoscale.e2e.spec.js +++ b/e2e/tests/functional/plugins/plot/autoscale.e2e.spec.js @@ -32,7 +32,7 @@ test.use({ } }); -test.describe('ExportAsJSON', () => { +test.describe('Autoscale', () => { test('User can set autoscale with a valid range @snapshot', async ({ page, openmctConfig }) => { const { myItemsFolderName } = openmctConfig; @@ -47,16 +47,32 @@ test.describe('ExportAsJSON', () => { await testYTicks(page, ['-1.00', '-0.50', '0.00', '0.50', '1.00']); + // enter edit mode + await page.click('button[title="Edit"]'); + await turnOffAutoscale(page); - // Make sure that after turning off autoscale, the user selected range values start at the same values the plot had prior. - await testYTicks(page, ['-1.00', '-0.50', '0.00', '0.50', '1.00']); + await setUserDefinedMinAndMax(page, '-2', '2'); + + // save + await page.click('button[title="Save"]'); + await Promise.all([ + page.locator('li[title = "Save and Finish Editing"]').click(), + //Wait for Save Banner to appear + page.waitForSelector('.c-message-banner__message') + ]); + //Wait until Save Banner is gone + await page.locator('.c-message-banner__close-button').click(); + await page.waitForSelector('.c-message-banner__message', { state: 'detached'}); + + // Make sure that after turning off autoscale, the user entered range values are reflexted in the ticks. + await testYTicks(page, ['-2.00', '-1.50', '-1.00', '-0.50', '0.00', '0.50', '1.00', '1.50', '2.00']); const canvas = page.locator('canvas').nth(1); await canvas.hover({trial: true}); - expect(await canvas.screenshot()).toMatchSnapshot('autoscale-canvas-prepan.png', { animations: 'disabled' }); + expect.soft(await canvas.screenshot()).toMatchSnapshot('autoscale-canvas-prepan.png', { animations: 'disabled' }); //Alt Drag Start await page.keyboard.down('Alt'); @@ -76,11 +92,12 @@ test.describe('ExportAsJSON', () => { await page.keyboard.up('Alt'); // Ensure the drag worked. - await testYTicks(page, ['0.00', '0.50', '1.00', '1.50', '2.00']); + await testYTicks(page, ['0.00', '0.50', '1.00', '1.50', '2.00', '2.50', '3.00', '3.50']); + //Wait for canvas to stablize. await canvas.hover({trial: true}); - expect(await canvas.screenshot()).toMatchSnapshot('autoscale-canvas-panned.png', { animations: 'disabled' }); + expect.soft(await canvas.screenshot()).toMatchSnapshot('autoscale-canvas-panned.png', { animations: 'disabled' }); }); }); @@ -152,22 +169,25 @@ async function createSinewaveOverlayPlot(page, myItemsFolderName) { * @param {import('@playwright/test').Page} page */ async function turnOffAutoscale(page) { - // enter edit mode - await page.locator('text=Unnamed Overlay Plot Snapshot >> button').nth(3).click(); - // uncheck autoscale await page.getByRole('listitem').filter({ hasText: 'Auto scale' }).getByRole('checkbox').uncheck(); +} - // save - await page.locator('text=Snapshot Save and Finish Editing Save and Continue Editing >> button').nth(1).click(); - await Promise.all([ - page.locator('text=Save and Finish Editing').click(), - //Wait for Save Banner to appear - page.waitForSelector('.c-message-banner__message') - ]); - //Wait until Save Banner is gone - await page.locator('.c-message-banner__close-button').click(); - await page.waitForSelector('.c-message-banner__message', { state: 'detached'}); +/** + * @param {import('@playwright/test').Page} page + * @param {string} min + * @param {string} max + */ +async function setUserDefinedMinAndMax(page, min, max) { + // set minimum value + const minRangeInput = page.getByRole('listitem').filter({ hasText: 'Minimum Value' }).locator('input[type="number"]'); + await minRangeInput.click(); + await minRangeInput.fill(min); + + // set maximum value + const maxRangeInput = page.getByRole('listitem').filter({ hasText: 'Maximum Value' }).locator('input[type="number"]'); + await maxRangeInput.click(); + await maxRangeInput.fill(max); } /** @@ -179,7 +199,7 @@ async function testYTicks(page, values) { let promises = [yTicks.count().then(c => expect(c).toBe(values.length))]; for (let i = 0, l = values.length; i < l; i += 1) { - promises.push(expect(yTicks.nth(i)).toHaveText(values[i])); // eslint-disable-line + promises.push(expect.soft(yTicks.nth(i)).toHaveText(values[i])); // eslint-disable-line } await Promise.all(promises); diff --git a/e2e/tests/functional/plugins/plot/autoscale.e2e.spec.js-snapshots/autoscale-canvas-panned-chrome-darwin.png b/e2e/tests/functional/plugins/plot/autoscale.e2e.spec.js-snapshots/autoscale-canvas-panned-chrome-darwin.png index d6d4dd21e54f9e5903bacdbbfbc9e112b543e94b..e9e82fd14e65f3ee6fe7b5e91f47fe1a0ab1a679 100644 GIT binary patch literal 19847 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 z zrsI(q;Xl0?G{Hf?)%3d`YH_U8OZotSJ0bLkhOiJ2#^9Er9DADq@B8{5l1)6xnz+*= z9WPO9HGC~tG0@#^{+{s38d{3~KLHF@mw=iug1UJEm5#>yu-l z?p*~~5_`>~Py}PZTugSmT$#1a4tov-tUm5$X9L{{dk$W3UWv#Mrc$>0tevG2e7~+= zenvyfZQ2$4@$r}{)Q$Q+Z4BuR+9D?tdtC8&*Fm&SiuL$4LaA)*zXdB zFDX@IpB2?X!*9Mj@ii^AMlYn^X}df(C(vJ}(be0EmoLO`B$yT&FFKq&ebEaP9I1ju zdygEWOVbiAdUV2;=DnlFSGc-;D<@NI=0$uY+smv2@0f%)1N(d$(nIXhNnw85V8ovF zE_Ai|sFyLl9Q6-2OHqwZWoD@Y_x1`v!?-S>`C*3DAtKS%l4s6DUwqicsD1c(RN)Kt zymO39+&k6wAo{zTvg3K3S*ySYiotFd%T_0!6ASJ}iF8OVwpCaM+Pt>UQb()Ogz*_~ zTI7&+ru}8EJ2(TRcEw}bf9}w<*A8#abR2Jkv~QY35X8)WZ30bubeZ*tVl(iqZ7$95 zJL7Nyr(N_8vRPtJ9kAekBBwUPr@Or%s_>g4fkyb4L=u6iaL$c8#c8F84gKYe>lcYo z3r3(Tv>chFD~u8?`5s8jHQ>H!<6Ec9{Q9%}vGny;oej5k&49`kaZKZo9Gj*3&OHO* z^t+hU9smij^3@8*a#h6RZG4YVUuc^~CzyVZmA%75Qv!hDaEVn%NW8WV96{QT3NUyA zG9(CGn=G88ujb8@H25d2K`LfHE_Fr2uo%7osT86PD=idu{JC z+RjBUJfsEO`BTc@hNdE(f8V+II8EV8+r)e%Yi8as2D)QU`7ewxstEOY=p#R8&UZ5ul9?R+2=u8{js^ga>T>?`m;O zU}M{o4I!_K$IV@bDn0I)P$-Oox3L3fdXSzv)eA+(z3)z^LQ0ywQ~8l@M2|~?n_-;F z`ur|Y*HZAihKN|2Z+5%Crujx&FNNAeP(Oh>i69M2r$x2DOH$#yeVA=94rv`2RkoVl z+7WTM;)!nF;th0XA8g1EpIzkICy7VMq_z6YucLT$i?5it)64-HmtC|#@Zdn3`Ca|| z?Yo7i+?{MYh0IeyPSijegWVLT>f!LIjS-pH=sL9hh}(iC#;vnFA=W`8JQP~djl9TW z=GSTMjHU0d&AuM8Z(zb%)`ha_8`(Ja;s#Svx(w7pA^jQB`)&nM0R!)28b}k{Ay$3r z%#q4*F|q22TkWAIyNk6VYgK0t(@ehQchycIq^HfF}Lr$6HfzNT1rqwMHt1tS0TN#*- z*f+QA&Yh$%_nHN=E-D6o)W&{pTfto-K`~U$a9mNUz~HWZ`&5@>BOJlYAkbp^BzqJ$ z;5I5Y5BIS*rfk&bjZW(Xyd!pvzLI}k3-IU(e_vGxH+yMpC75l*B=Pu(5p3V?Q8Kp%$0v%Dt&ZAr1YHI7 zK1TEaIQ}wl^PKJ_oAw$KB8?{+Tme3wzw9z6=-HT6l$TI)f;UGZj4$|ouwXdZ=hU|x4%{b4%g9Xs_Ll}UcC9>{{ZQ>p>zNM literal 16185 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 literal 15796 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 o2lx!g4%a`z)8*cv5I~>f(~ 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 literal 18393 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 diff --git a/e2e/tests/functional/plugins/plot/autoscale.e2e.spec.js-snapshots/autoscale-canvas-prepan-chrome-linux.png b/e2e/tests/functional/plugins/plot/autoscale.e2e.spec.js-snapshots/autoscale-canvas-prepan-chrome-linux.png index ffdedffd2bc3d09b4df3f21b0c2a90a442c7fc88..360f87b8f73a202b824c707368c1e2f3cd85ce13 100644 GIT binary patch literal 15944 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 KDZ6z0;r{_MHTKy6 diff --git a/src/plugins/plot/MctPlot.vue b/src/plugins/plot/MctPlot.vue index ecdee217ff..ec24ea8fa6 100644 --- a/src/plugins/plot/MctPlot.vue +++ b/src/plugins/plot/MctPlot.vue @@ -855,7 +855,7 @@ export default { gatherNearbyAnnotations() { const nearbyAnnotations = []; this.config.series.models.forEach(series => { - if (series.closest.annotationsById) { + if (series?.closest?.annotationsById) { Object.values(series.closest.annotationsById).forEach(closeAnnotation => { const addedAnnotationAlready = nearbyAnnotations.some(annotation => { return _.isEqual(annotation.targets, closeAnnotation.targets) diff --git a/src/plugins/plot/chart/MctChart.vue b/src/plugins/plot/chart/MctChart.vue index 58863d7c56..d4b2428bea 100644 --- a/src/plugins/plot/chart/MctChart.vue +++ b/src/plugins/plot/chart/MctChart.vue @@ -52,6 +52,41 @@ const MARKER_SIZE = 6.0; const HIGHLIGHT_SIZE = MARKER_SIZE * 2.0; const ANNOTATION_SIZE = MARKER_SIZE * 3.0; const CLEARANCE = 15; +// These attributes are changed in the plot model, but we don't need to react to the changes. +const NO_HANDLING_NEEDED_ATTRIBUTES = { + label: 'label', + values: 'values', + format: 'format', + color: 'color', + name: 'name', + unit: 'unit' +}; +// These attributes in turn set one of HANDLED_ATTRIBUTES, so we don't need specific listeners for them - this prevents excessive redraws. +const IMPLICIT_HANDLED_ATTRIBUTES = { + range: 'range', + //series stats update y axis stats + stats: 'stats', + frozen: 'frozen', + autoscale: 'autoscale', + autoscalePadding: 'autoscalePadding', + logMode: 'logMode', + yKey: 'yKey' +}; +// Attribute changes that we are specifically handling with listeners +const HANDLED_ATTRIBUTES = { + //X and Y Axis attributes + key: 'key', + displayRange: 'displayRange', + //series attributes + xKey: 'xKey', + interpolate: 'interpolate', + markers: 'markers', + markerShape: 'markerShape', + markerSize: 'markerSize', + alarmMarkers: 'alarmMarkers', + limitLines: 'limitLines', + yAxisId: 'yAxisId' +}; export default { inject: ['openmct', 'domainObject', 'path'], @@ -138,14 +173,16 @@ export default { this.offset = { [yAxisId]: {} }; - this.listenTo(this.config.yAxis, 'change:key', this.resetYOffsetAndSeriesDataForYAxis.bind(this, yAxisId), this); - this.listenTo(this.config.yAxis, 'change', this.updateLimitsAndDraw); + this.listenTo(this.config.yAxis, `change:${HANDLED_ATTRIBUTES.displayRange}`, this.scheduleDraw); + this.listenTo(this.config.yAxis, `change:${HANDLED_ATTRIBUTES.key}`, this.resetYOffsetAndSeriesDataForYAxis.bind(this, yAxisId), this); + this.listenTo(this.config.yAxis, 'change', this.redrawIfNotAlreadyHandled); if (this.config.additionalYAxes.length) { this.config.additionalYAxes.forEach(yAxis => { const id = yAxis.get('id'); this.offset[id] = {}; - this.listenTo(yAxis, 'change', this.updateLimitsAndDraw); - this.listenTo(yAxis, 'change:key', this.resetYOffsetAndSeriesDataForYAxis.bind(this, id), this); + this.listenTo(yAxis, `change:${HANDLED_ATTRIBUTES.displayRange}`, this.scheduleDraw); + this.listenTo(yAxis, `change:${HANDLED_ATTRIBUTES.key}`, this.resetYOffsetAndSeriesDataForYAxis.bind(this, id), this); + this.listenTo(yAxis, 'change', this.redrawIfNotAlreadyHandled); }); } @@ -162,7 +199,8 @@ export default { this.listenTo(this.config.series, 'add', this.onSeriesAdd, this); this.listenTo(this.config.series, 'remove', this.onSeriesRemove, this); - this.listenTo(this.config.xAxis, 'change', this.updateLimitsAndDraw); + this.listenTo(this.config.xAxis, 'change:displayRange', this.scheduleDraw); + this.listenTo(this.config.xAxis, 'change', this.redrawIfNotAlreadyHandled); this.config.series.forEach(this.onSeriesAdd, this); this.$emit('chartLoaded'); }, @@ -191,14 +229,15 @@ export default { this.changeLimitLines(mode, o, series); }, onSeriesAdd(series) { - this.listenTo(series, 'change:xKey', this.reDraw, this); - this.listenTo(series, 'change:interpolate', this.changeInterpolate, this); - this.listenTo(series, 'change:markers', this.changeMarkers, this); - this.listenTo(series, 'change:alarmMarkers', this.changeAlarmMarkers, this); - this.listenTo(series, 'change:limitLines', this.changeLimitLines, this); - this.listenTo(series, 'change:yAxisId', this.resetAxisAndRedraw, this); - // TODO: Which other changes is the listener below reacting to? - this.listenTo(series, 'change', this.scheduleDraw); + this.listenTo(series, `change:${HANDLED_ATTRIBUTES.xKey}`, this.reDraw, this); + this.listenTo(series, `change:${HANDLED_ATTRIBUTES.interpolate}`, this.changeInterpolate, this); + this.listenTo(series, `change:${HANDLED_ATTRIBUTES.markers}`, this.changeMarkers, this); + this.listenTo(series, `change:${HANDLED_ATTRIBUTES.alarmMarkers}`, this.changeAlarmMarkers, this); + this.listenTo(series, `change:${HANDLED_ATTRIBUTES.limitLines}`, this.changeLimitLines, this); + this.listenTo(series, `change:${HANDLED_ATTRIBUTES.yAxisId}`, this.resetAxisAndRedraw, this); + this.listenTo(series, `change:${HANDLED_ATTRIBUTES.markerShape}`, this.scheduleDraw, this); + this.listenTo(series, `change:${HANDLED_ATTRIBUTES.markerSize}`, this.scheduleDraw, this); + this.listenTo(series, 'change', this.redrawIfNotAlreadyHandled); this.listenTo(series, 'add', this.onAddPoint); this.makeChartElement(series); this.makeLimitLines(series); @@ -531,8 +570,25 @@ export default { return true; }, + redrawIfNotAlreadyHandled(attribute, value, oldValue) { + if (Object.keys(HANDLED_ATTRIBUTES).includes(attribute) && oldValue) { + return; + } + + if (Object.keys(IMPLICIT_HANDLED_ATTRIBUTES).includes(attribute) && oldValue) { + return; + } + + if (Object.keys(NO_HANDLING_NEEDED_ATTRIBUTES).includes(attribute) && oldValue) { + return; + } + + console.warn('Unhandled change:', attribute); + this.updateLimitsAndDraw(); + }, updateLimitsAndDraw() { this.drawLimitLines(); + this.scheduleDraw(); }, scheduleDraw() { if (!this.drawScheduled) { diff --git a/src/plugins/plot/configuration/PlotSeries.js b/src/plugins/plot/configuration/PlotSeries.js index ac9a2ee724..7715004cc2 100644 --- a/src/plugins/plot/configuration/PlotSeries.js +++ b/src/plugins/plot/configuration/PlotSeries.js @@ -252,6 +252,7 @@ export default class PlotSeries extends Model { } const valueMetadata = this.metadata.value(newKey); + //TODO: Should we do this even if there is a persisted config? if (!this.persistedConfig || !this.persistedConfig.interpolate) { if (valueMetadata.format === 'enum') { this.set('interpolate', 'stepAfter'); diff --git a/src/plugins/plot/configuration/YAxisModel.js b/src/plugins/plot/configuration/YAxisModel.js index 1107b8e803..a111c9bc12 100644 --- a/src/plugins/plot/configuration/YAxisModel.js +++ b/src/plugins/plot/configuration/YAxisModel.js @@ -57,7 +57,14 @@ export default class YAxisModel extends Model { this.listenTo(this, 'change:logMode', this.onLogModeChange, this); this.listenTo(this, 'change:frozen', this.toggleFreeze, this); this.listenTo(this, 'change:range', this.updateDisplayRange, this); - this.updateDisplayRange(this.get('range')); + const range = this.get('range'); + this.updateDisplayRange(range); + //This is an edge case and should not happen + const invalidRange = !range || (range?.min === undefined || range?.max === undefined); + const invalidAutoScaleOff = (options.model.autoscale === false) && invalidRange; + if (invalidAutoScaleOff) { + this.set('autoscale', true); + } } /** * @param {import('./SeriesCollection').default} seriesCollection @@ -250,23 +257,6 @@ export default class YAxisModel extends Model { } this.set('displayRange', _range); - } else { - // Otherwise use the last known displayRange as the initial - // values for the user-defined range, so that we don't end up - // with any error from an undefined user range. - - const _range = this.get('displayRange'); - - if (!_range) { - return; - } - - if (this.get('logMode')) { - _range.min = antisymlog(_range.min, 10); - _range.max = antisymlog(_range.max, 10); - } - - this.set('range', _range); } } @@ -377,11 +367,8 @@ export default class YAxisModel extends Model { autoscale: true, logMode: options.model?.logMode ?? false, autoscalePadding: 0.1, - id: options.id - - // 'range' is not specified here, it is undefined at first. When the - // user turns off autoscale, the current 'displayRange' is used for - // the initial value of 'range'. + id: options.id, + range: options.model?.range }; } } diff --git a/src/plugins/plot/inspector/PlotOptionsBrowse.vue b/src/plugins/plot/inspector/PlotOptionsBrowse.vue index c99004d74a..54e6e46536 100644 --- a/src/plugins/plot/inspector/PlotOptionsBrowse.vue +++ b/src/plugins/plot/inspector/PlotOptionsBrowse.vue @@ -73,7 +73,7 @@

  • {{ yAxis.rangeMin }}
  • { range = yAxis.get('range'); @@ -230,8 +230,8 @@ export default { autoscale: yAxis.get('autoscale'), logMode: yAxis.get('logMode'), autoscalePadding: yAxis.get('autoscalePadding'), - rangeMin: range ? range.min : '', - rangeMax: range ? range.max : '' + rangeMin: range?.min ?? '', + rangeMax: range?.max ?? '' }); }); } diff --git a/src/plugins/plot/inspector/forms/YAxisForm.vue b/src/plugins/plot/inspector/forms/YAxisForm.vue index e4a88ebe50..afdf481491 100644 --- a/src/plugins/plot/inspector/forms/YAxisForm.vue +++ b/src/plugins/plot/inspector/forms/YAxisForm.vue @@ -81,7 +81,7 @@ >Minimum Value
    Maximum Value