mirror of
https://github.com/apache/superset.git
synced 2026-04-20 16:44:46 +00:00
refactor(Dropdown): Migrate Dropdown to Ant Design 5 (#31972)
This commit is contained in:
committed by
GitHub
parent
38c46fcafd
commit
bcc61bd933
@@ -112,11 +112,13 @@ const renderWrapper = (
|
||||
});
|
||||
};
|
||||
|
||||
const openMenu = () => {
|
||||
userEvent.click(screen.getByRole('button', { name: 'More Options' }));
|
||||
};
|
||||
|
||||
test('Should render', () => {
|
||||
renderWrapper();
|
||||
expect(
|
||||
screen.getByRole('button', { name: 'More Options' }),
|
||||
).toBeInTheDocument();
|
||||
openMenu();
|
||||
expect(screen.getByTestId(`slice_${SLICE_ID}-menu`)).toBeInTheDocument();
|
||||
});
|
||||
|
||||
@@ -143,6 +145,7 @@ test('Should render default props', () => {
|
||||
delete props.isExpanded;
|
||||
|
||||
renderWrapper(props);
|
||||
openMenu();
|
||||
expect(screen.getByText('Enter fullscreen')).toBeInTheDocument();
|
||||
expect(screen.getByText('Force refresh')).toBeInTheDocument();
|
||||
expect(screen.getByText('Show chart description')).toBeInTheDocument();
|
||||
@@ -159,6 +162,7 @@ test('Should render default props', () => {
|
||||
test('Should "export to CSV"', async () => {
|
||||
const props = createProps();
|
||||
renderWrapper(props);
|
||||
openMenu();
|
||||
expect(props.exportCSV).toHaveBeenCalledTimes(0);
|
||||
userEvent.hover(screen.getByText('Download'));
|
||||
userEvent.click(await screen.findByText('Export to .CSV'));
|
||||
@@ -169,6 +173,7 @@ test('Should "export to CSV"', async () => {
|
||||
test('Should "export to Excel"', async () => {
|
||||
const props = createProps();
|
||||
renderWrapper(props);
|
||||
openMenu();
|
||||
expect(props.exportXLSX).toHaveBeenCalledTimes(0);
|
||||
userEvent.hover(screen.getByText('Download'));
|
||||
userEvent.click(await screen.findByText('Export to Excel'));
|
||||
@@ -182,6 +187,7 @@ test('Export full CSV is under featureflag', async () => {
|
||||
};
|
||||
const props = createProps(VizType.Table);
|
||||
renderWrapper(props);
|
||||
openMenu();
|
||||
userEvent.hover(screen.getByText('Download'));
|
||||
expect(await screen.findByText('Export to .CSV')).toBeInTheDocument();
|
||||
expect(screen.queryByText('Export to full .CSV')).not.toBeInTheDocument();
|
||||
@@ -193,6 +199,7 @@ test('Should "export full CSV"', async () => {
|
||||
};
|
||||
const props = createProps(VizType.Table);
|
||||
renderWrapper(props);
|
||||
openMenu();
|
||||
expect(props.exportFullCSV).toHaveBeenCalledTimes(0);
|
||||
userEvent.hover(screen.getByText('Download'));
|
||||
userEvent.click(await screen.findByText('Export to full .CSV'));
|
||||
@@ -205,6 +212,7 @@ test('Should not show export full CSV if report is not table', async () => {
|
||||
[FeatureFlag.AllowFullCsvExport]: true,
|
||||
};
|
||||
renderWrapper();
|
||||
openMenu();
|
||||
userEvent.hover(screen.getByText('Download'));
|
||||
expect(await screen.findByText('Export to .CSV')).toBeInTheDocument();
|
||||
expect(screen.queryByText('Export to full .CSV')).not.toBeInTheDocument();
|
||||
@@ -216,6 +224,7 @@ test('Export full Excel is under featureflag', async () => {
|
||||
};
|
||||
const props = createProps(VizType.Table);
|
||||
renderWrapper(props);
|
||||
openMenu();
|
||||
userEvent.hover(screen.getByText('Download'));
|
||||
expect(await screen.findByText('Export to Excel')).toBeInTheDocument();
|
||||
expect(screen.queryByText('Export to full Excel')).not.toBeInTheDocument();
|
||||
@@ -227,6 +236,7 @@ test('Should "export full Excel"', async () => {
|
||||
};
|
||||
const props = createProps(VizType.Table);
|
||||
renderWrapper(props);
|
||||
openMenu();
|
||||
expect(props.exportFullXLSX).toHaveBeenCalledTimes(0);
|
||||
userEvent.hover(screen.getByText('Download'));
|
||||
userEvent.click(await screen.findByText('Export to full Excel'));
|
||||
@@ -239,6 +249,7 @@ test('Should not show export full Excel if report is not table', async () => {
|
||||
[FeatureFlag.AllowFullCsvExport]: true,
|
||||
};
|
||||
renderWrapper();
|
||||
openMenu();
|
||||
userEvent.hover(screen.getByText('Download'));
|
||||
expect(await screen.findByText('Export to Excel')).toBeInTheDocument();
|
||||
expect(screen.queryByText('Export to full Excel')).not.toBeInTheDocument();
|
||||
@@ -247,6 +258,7 @@ test('Should not show export full Excel if report is not table', async () => {
|
||||
test('Should "Show chart description"', () => {
|
||||
const props = createProps();
|
||||
renderWrapper(props);
|
||||
openMenu();
|
||||
expect(props.toggleExpandSlice).toHaveBeenCalledTimes(0);
|
||||
userEvent.click(screen.getByText('Show chart description'));
|
||||
expect(props.toggleExpandSlice).toHaveBeenCalledTimes(1);
|
||||
@@ -256,6 +268,7 @@ test('Should "Show chart description"', () => {
|
||||
test('Should "Force refresh"', () => {
|
||||
const props = createProps();
|
||||
renderWrapper(props);
|
||||
openMenu();
|
||||
expect(props.forceRefresh).toHaveBeenCalledTimes(0);
|
||||
userEvent.click(screen.getByText('Force refresh'));
|
||||
expect(props.forceRefresh).toHaveBeenCalledTimes(1);
|
||||
@@ -266,6 +279,7 @@ test('Should "Force refresh"', () => {
|
||||
test('Should "Enter fullscreen"', () => {
|
||||
const props = createProps();
|
||||
renderWrapper(props);
|
||||
openMenu();
|
||||
|
||||
expect(props.handleToggleFullSize).toHaveBeenCalledTimes(0);
|
||||
userEvent.click(screen.getByText('Enter fullscreen'));
|
||||
@@ -278,6 +292,7 @@ test('Drill to detail modal is under featureflag', () => {
|
||||
};
|
||||
const props = createProps();
|
||||
renderWrapper(props);
|
||||
openMenu();
|
||||
expect(screen.queryByText('Drill to detail')).not.toBeInTheDocument();
|
||||
});
|
||||
|
||||
@@ -293,6 +308,7 @@ test('Should show "Drill to detail" with `can_explore` & `can_samples` perms', (
|
||||
['can_explore', 'Superset'],
|
||||
],
|
||||
});
|
||||
openMenu();
|
||||
expect(screen.getByText('Drill to detail')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
@@ -311,6 +327,7 @@ test('Should show "Drill to detail" with `can_drill` & `can_samples` perms', ()
|
||||
['can_drill', 'Dashboard'],
|
||||
],
|
||||
});
|
||||
openMenu();
|
||||
expect(screen.getByText('Drill to detail')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
@@ -329,6 +346,7 @@ test('Should show "Drill to detail" with both `canexplore` + `can_drill` & `can_
|
||||
['can_drill', 'Dashboard'],
|
||||
],
|
||||
});
|
||||
openMenu();
|
||||
expect(screen.getByText('Drill to detail')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
@@ -344,6 +362,7 @@ test('Should not show "Drill to detail" with neither of required perms', () => {
|
||||
renderWrapper(props, {
|
||||
Admin: [['invalid_permission', 'Dashboard']],
|
||||
});
|
||||
openMenu();
|
||||
expect(screen.queryByText('Drill to detail')).not.toBeInTheDocument();
|
||||
});
|
||||
|
||||
@@ -359,6 +378,7 @@ test('Should not show "Drill to detail" only `can_dril` perm', () => {
|
||||
renderWrapper(props, {
|
||||
Admin: [['can_drill', 'Dashboard']],
|
||||
});
|
||||
openMenu();
|
||||
expect(screen.queryByText('Drill to detail')).not.toBeInTheDocument();
|
||||
});
|
||||
|
||||
@@ -371,6 +391,7 @@ test('Should show "View query"', () => {
|
||||
renderWrapper(props, {
|
||||
Admin: [['can_view_query', 'Dashboard']],
|
||||
});
|
||||
openMenu();
|
||||
expect(screen.getByText('View query')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
@@ -383,6 +404,7 @@ test('Should not show "View query"', () => {
|
||||
renderWrapper(props, {
|
||||
Admin: [['invalid_permission', 'Dashboard']],
|
||||
});
|
||||
openMenu();
|
||||
expect(screen.queryByText('View query')).not.toBeInTheDocument();
|
||||
});
|
||||
|
||||
@@ -395,6 +417,7 @@ test('Should show "View as table"', () => {
|
||||
renderWrapper(props, {
|
||||
Admin: [['can_view_chart_as_table', 'Dashboard']],
|
||||
});
|
||||
openMenu();
|
||||
expect(screen.getByText('View as table')).toBeInTheDocument();
|
||||
});
|
||||
|
||||
@@ -407,6 +430,7 @@ test('Should not show "View as table"', () => {
|
||||
renderWrapper(props, {
|
||||
Admin: [['invalid_permission', 'Dashboard']],
|
||||
});
|
||||
openMenu();
|
||||
expect(screen.queryByText('View as table')).not.toBeInTheDocument();
|
||||
});
|
||||
|
||||
@@ -423,5 +447,6 @@ test('Should not show the "Edit chart" button', () => {
|
||||
['can_view_chart_as_table', 'Dashboard'],
|
||||
],
|
||||
});
|
||||
openMenu();
|
||||
expect(screen.queryByText('Edit chart')).not.toBeInTheDocument();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user