From b494253217b533eb352d519479ad02f351e0fa00 Mon Sep 17 00:00:00 2001 From: archmoj Date: Fri, 18 Jun 2021 14:30:36 -0400 Subject: [PATCH] add missing tests for new trace type icicle --- test/jasmine/assets/mock_lists.js | 1 + test/jasmine/tests/plot_api_react_test.js | 35 +++++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/test/jasmine/assets/mock_lists.js b/test/jasmine/assets/mock_lists.js index 59af1a73109..a7112686864 100644 --- a/test/jasmine/assets/mock_lists.js +++ b/test/jasmine/assets/mock_lists.js @@ -35,6 +35,7 @@ var svgMockList = [ ['sankey_energy', require('@mocks/sankey_energy.json')], ['sunburst_coffee', require('@mocks/sunburst_coffee.json')], ['treemap_coffee', require('@mocks/treemap_coffee.json')], + ['icicle_coffee', require('@mocks/icicle_coffee.json')], ['parcats_bad-displayindex', require('@mocks/parcats_bad-displayindex.json')], ['scattercarpet', require('@mocks/scattercarpet.json')], ['shapes', require('@mocks/shapes.json')], diff --git a/test/jasmine/tests/plot_api_react_test.js b/test/jasmine/tests/plot_api_react_test.js index 611873a6959..200d3d0da8f 100644 --- a/test/jasmine/tests/plot_api_react_test.js +++ b/test/jasmine/tests/plot_api_react_test.js @@ -2117,6 +2117,41 @@ describe('Plotly.react and uirevision attributes', function() { }) .then(done, done.fail); }); + + it('preserves icicle level changes', function(done) { + function assertLevel(msg, exp) { + expect(gd._fullData[0].level).toBe(exp, msg); + } + + Plotly.react(gd, [{ + type: 'icicle', + labels: ['Eve', 'Cain', 'Seth', 'Enos', 'Noam', 'Abel', 'Awan', 'Enoch', 'Azura'], + parents: ['', 'Eve', 'Eve', 'Seth', 'Seth', 'Eve', 'Eve', 'Awan', 'Eve'], + uirevision: 1 + }]) + .then(function() { + assertLevel('no set level at start', undefined); + }) + .then(function() { + var nodeSeth = d3Select('.slice:nth-child(2)').node(); + mouseEvent('click', 0, 0, {element: nodeSeth}); + }) + .then(function() { + assertLevel('after clicking on Seth sector', 'Seth'); + }) + .then(function() { + return Plotly.react(gd, [{ + type: 'icicle', + labels: ['Eve', 'Cain', 'Seth', 'Enos', 'Noam', 'Abel', 'Awan', 'Enoch', 'Azura', 'Joe'], + parents: ['', 'Eve', 'Eve', 'Seth', 'Seth', 'Eve', 'Eve', 'Awan', 'Eve', 'Seth'], + uirevision: 1 + }]); + }) + .then(function() { + assertLevel('after reacting with new data, but with same uirevision', 'Seth'); + }) + .then(done, done.fail); + }); }); describe('Test Plotly.react + interactions under uirevision:', function() {