Skip to content

Commit daf9e8d

Browse files
committed
Add axis change event test
1 parent c382e7a commit daf9e8d

File tree

2 files changed

+84
-2
lines changed

2 files changed

+84
-2
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
/******************************************************************************
2+
*
3+
* Copyright (c) 2022, the Perspective Authors.
4+
*
5+
* This file is part of the Perspective library, distributed under the terms of
6+
* the Apache License 2.0. The full license can be found in the LICENSE file.
7+
*
8+
*/
9+
10+
const path = require("path");
11+
12+
const utils = require("@finos/perspective-test");
13+
const simple_tests = require("@finos/perspective-viewer/test/js/simple_tests.js");
14+
15+
const {withTemplate} = require("./simple-template");
16+
withTemplate("events", "Y Line");
17+
18+
async function get_contents(page) {
19+
return await page.evaluate(async () => {
20+
const viewer = document
21+
.querySelector(`perspective-viewer perspective-viewer-d3fc-yline`)
22+
.shadowRoot.querySelector("svg");
23+
return viewer.outerHTML || "MISSING";
24+
});
25+
}
26+
27+
utils.with_server({}, () => {
28+
describe.page(
29+
"events.html",
30+
() => {
31+
test.capture(
32+
"perspective-config-update event is fired when series axis is changed",
33+
async (page) => {
34+
// Await the viewer element to exist on the page
35+
const viewer = await page.$("perspective-viewer");
36+
await page.evaluate(async (viewer) => {
37+
// Await the table load
38+
await viewer.getTable();
39+
40+
viewer.restore({
41+
plugin: "Y Line",
42+
columns: ["Sales", "Profit"],
43+
});
44+
45+
// Register a listener for `perspective-config-update` event
46+
window.__events__ = [];
47+
viewer.addEventListener(
48+
"perspective-config-update",
49+
(evt) => {
50+
window.__events__.push(evt);
51+
}
52+
);
53+
}, viewer);
54+
const axisLabel = (
55+
await page.waitForFunction(() =>
56+
document
57+
.querySelector("perspective-viewer-d3fc-yline")
58+
.shadowRoot.querySelector(".y-label")
59+
)
60+
).asElement();
61+
await axisLabel.click(axisLabel);
62+
63+
const count = await page.evaluate(async (viewer) => {
64+
// Await the plugin rendering
65+
await viewer.flush();
66+
67+
// Count the events;
68+
return window.__events__.length;
69+
}, viewer);
70+
71+
// Expect 1 event
72+
expect(count).toEqual(1);
73+
74+
// Return the chart contents
75+
return get_contents(page);
76+
}
77+
);
78+
},
79+
{reload_page: false, root: path.join(__dirname, "..", "..", "..")}
80+
);
81+
});

packages/perspective-viewer-d3fc/test/results/results.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"__GIT_COMMIT__": "5da16de32e940766d75e53e589ea77950bf66659",
2+
"__GIT_COMMIT__": "c382e7af4f7e2f0d68c4d126c0864dce34b0a73c",
33
"area_shows_a_grid_without_any_settings_applied": "3852532b8ee6abba3373a10d41bb4df2",
44
"area_displays_visible_columns_": "919cc6f6c2a2f2ec13b90dfb60e1b7ef",
55
"area_pivot_by_a_row": "7495976cfed69cfe9db2b3fdc6ef4707",
@@ -143,5 +143,6 @@
143143
"sunburst_filters_filters_by_a_numeric_column": "10d1208b485425756fcc932229386b02",
144144
"sunburst_filters_filters_by_an_alpha_column": "10d1208b485425756fcc932229386b02",
145145
"sunburst_filters_filters_with__in__comparator": "10d1208b485425756fcc932229386b02",
146-
"bar_rendering_bugs_correctly_render_when_a_bar_chart_has_non_equidistant_times_on_a_datetime_axis": "9e7617a454d83e328aaa3d25c8145a0e"
146+
"bar_rendering_bugs_correctly_render_when_a_bar_chart_has_non_equidistant_times_on_a_datetime_axis": "9e7617a454d83e328aaa3d25c8145a0e",
147+
"events_perspective-config-update_event_is_fired_when_series_axis_is_changed": "c07cb12b00fe628aba8751721f8f5498"
147148
}

0 commit comments

Comments
 (0)