Skip to content

Commit f2037ed

Browse files
author
ada mandala
committed
fix broken and flaky tests
1 parent c301e6f commit f2037ed

File tree

2 files changed

+30
-18
lines changed

2 files changed

+30
-18
lines changed

rust/perspective-viewer/test/js/column_settings/attributes_tab.spec.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,6 @@ test.describe("Attributes Tab", () => {
139139
await expr.activeBtn.click();
140140

141141
expr = await view.settingsPanel.inactiveColumns.getColumnByName("expr");
142-
await expr.editBtn.click();
143142
await expect(attributesTab.deleteBtn).toBeEnabled();
144143
await attributesTab.deleteBtn.click();
145144
await expect(attributesTab.container).toBeHidden();

rust/perspective-viewer/test/js/column_settings/interactions.spec.ts

Lines changed: 30 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -261,39 +261,52 @@ async function checkOutput(
261261
expected: ExpectedState,
262262
initial_state: SidebarState
263263
) {
264+
const POSSIBLE_TABS = ["Style", "Attributes"];
265+
266+
const check_tabs = async (selectedTab, tabs, unexpected_tabs) => {
267+
await view.columnSettingsSidebar.container
268+
.locator(".tab.selected")
269+
.getByText(selectedTab)
270+
.waitFor();
271+
for (let tab of tabs) {
272+
await view.columnSettingsSidebar.tabTitle.getByText(tab).waitFor();
273+
}
274+
for (let tab of unexpected_tabs) {
275+
await view.columnSettingsSidebar.tabTitle
276+
.getByText(tab)
277+
.waitFor({ state: "hidden" });
278+
}
279+
};
280+
264281
if ("type" in expected) {
265-
view.columnSettingsSidebar.container
282+
await view.columnSettingsSidebar.container
266283
.locator(`.type-icon.${expected.type}`)
267-
.waitFor({ timeout: 3000 });
284+
.waitFor();
268285
}
269286
if ("unchanged" in expected) {
270287
if (!initial_state.open) {
271288
await expect(view.columnSettingsSidebar.container).toBeHidden({
272289
timeout: 1000,
273290
});
274-
} else if ("type" in expected) {
275-
expect(await view.columnSettingsSidebar.getSelectedTab()).toBe(
276-
initial_state.selectedTab
291+
} else {
292+
const unexpected_tabs = POSSIBLE_TABS.filter(
293+
(t) => !initial_state.tabs.includes(t)
277294
);
278-
expect(await view.columnSettingsSidebar.getTabs()).toStrictEqual(
279-
initial_state.tabs
295+
await check_tabs(
296+
initial_state.selectedTab,
297+
initial_state.tabs,
298+
unexpected_tabs
280299
);
281-
} else {
282-
expect(
283-
await view.columnSettingsSidebar.container.innerHTML()
284-
).toEqual(initial_state.snapshot);
285300
}
286301
} else if ("closed" in expected) {
287302
await expect(view.columnSettingsSidebar.container).toBeHidden({
288303
timeout: 1000,
289304
});
290305
} else {
291-
expect(await view.columnSettingsSidebar.getSelectedTab()).toBe(
292-
expected.selectedTab
293-
);
294-
expect(await view.columnSettingsSidebar.getTabs()).toStrictEqual(
295-
expected.tabs
306+
const unexpected_tabs = POSSIBLE_TABS.filter(
307+
(t) => !expected.tabs.includes(t)
296308
);
309+
await check_tabs(expected.selectedTab, expected.tabs, unexpected_tabs);
297310
}
298311
}
299312

@@ -321,7 +334,7 @@ test.describe("Column Settings State on Interaction", () => {
321334
"where",
322335
],
323336
text: ["reorder", "open", "deactivate"],
324-
dnd: ["open", "deactivate", "groupby"],
337+
dnd: ["open", "deactivate", "groupby", "splitby"],
325338
};
326339

327340
for (const [name, spec] of Object.entries(TEST_SPEC)) {

0 commit comments

Comments
 (0)