8000 fixup tests · NGTS-AUS/react-plotly.js@9090051 · GitHub
[go: up one dir, main page]

Skip to content

Commit 9090051

Browse files
fixup tests
1 parent ca8ece2 commit 9090051

File tree

4 files changed

+7958
-77
lines changed

4 files changed

+7958
-77
lines changed

src/__mocks__/plotly.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,14 @@ export default {
1818
state.gd.emit('plotly_afterplot');
1919
}, ASYNC_DELAY);
2020
}),
21+
react: jest.fn(gd => {
22+
state.gd = gd;
23+
EventEmitter(state.gd);
24+
25+
setTimeout(() => {
26+
state.gd.emit('plotly_afterplot');
27+
}, ASYNC_DELAY);
28+
}),
2129
relayout: jest.fn(gd => {
2230
state.gd = gd;
2331
setTimeout(() => {

src/__tests__/react-plotly.test.js

Lines changed: 2 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -84,29 +84,14 @@ describe('<Plotly/>', () => {
8484
.catch(err => done.fail(err))
8585
.then(done);
8686
});
87-
88-
test('overrides the height when fit: true', done => {
89-
createPlot({
90-
layout: {width: 320, height: 240},
91-
fit: true,
92-
})
93-
.then(() => {
94-
expectPlotlyAPICall(Plotly.newPlot, {
95-
layout: {width: 320, height: 240},
96-
});
97-
})
98-
.catch(err => done.fail(err))
99-
.then(done);
100-
});
10187
});
10288

10389
describe('plot updates', () => {
10490
test('updates data', done => {
10591
createPlot({
106-
fit: true,
10792
layout: {width: 123, height: 456},
10893
onUpdate: once(() => {
109-
expectPlotlyAPICall(Plotly.newPlot, {
94+
expectPlotlyAPICall(Plotly.react, {
11095
data: [{x: [1, 2, 3]}],
11196
layout: {width: 123, height: 456},
11297
});
@@ -121,9 +106,8 @@ describe('<Plotly/>', () => {
121106

122107
test('sets the title', done => {
123108
createPlot({
124-
fit: false,
125109
onUpdate: once(() => {
126-
expectPlotlyAPICall(Plotly.newPlot, {
110+
expectPlotlyAPICall(Plotly.react, {
127111
layout: {title: 'test test'},
128112
});
129113
done();
@@ -138,7 +122,6 @@ describe('<Plotly/>', () => {
138122
test('revision counter', done => {
139123
var callCnt = 0;
140124
createPlot({
141-
fit: false,
142125
revision: 0,
143126
onUpdate: () => {
144127
callCnt++;
@@ -173,62 +156,5 @@ describe('<Plotly/>', () => {
173156
.catch(err => done.fail(err));
174157
});
175158
});
176-
177-
describe('responding to window events', () => {
178-
describe('with fit: true', () => {
179-
test('does not call relayout on initialization', done => {
180-
createPlot({
181-
fit: true,
182-
onRelayout: () => done.fail('Unexpected relayout event'),
183-
})
184-
.then(() => {
185-
setTimeout(done, 20);
186-
})
187-
.catch(err => done.fail(err));
188-
});
189-
190-
test('calls relayout on window resize when fit: true', done => {
191-
let relayoutCnt = 0;
192-
createPlot({
193-
fit: true,
194-
onRelayout: () => {
195-
relayoutCnt++;
196-
if (relayoutCnt === 1) {
197-
setTimeout(done, 20);
198-
}
199-
},
200-
})
201-
.then(() => {
202-
window.dispatchEvent(new Event('resize'));
203-
})
204-
.catch(err => done.fail(err));
205-
});
206-
});
207-
208-
describe('with fit: false', () => {
209-
test('does not call relayout on init', done => {
210-
createPlot({
211-
fit: false,
212-
onRelayout: () => done.fail('Unexpected relayout event'),
213-
})
214-
.then(() => {
215-
setTimeout(done, 20);
216-
})
217-
.catch(err => done.fail(err));
218-
});
219-
220-
test('does not call relayout on window resize', done => {
221-
createPlot({
222-
fit: false,
223-
onRelayout: () => done.fail('Unexpected relayout event'),
224-
})
225-
.then(() => {
226-
window.dispatchEvent(new Event('resize'));
227-
setTimeout(done, 20);
228-
})
229-
.catch(err => done.fail(err));
230-
});
231-
});
232-
});
233159
});
234160
});

src/factory.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,10 @@ export default function plotComponentFactory(Plotly) {
146146

147147
figureCallback(callback) {
148148
if (typeof callback === 'function') {
149-
const {data, layout, _transitionData: {_frames: frames}} = this.el;
149+
const {data, layout} = this.el;
150+
const frames = this.el._transitionData
151+
? this.el._transitionData._frames
152+
: null;
150153
const figure = {data, layout, frames}; // for extra clarity!
151154
callback(figure, this.el);
152155
}

0 commit comments

Comments
 (0)
0