mirror of
https://github.com/apache/superset.git
synced 2026-04-19 08:04:53 +00:00
fix: Dropdown menu not closing on Dashboard view (#11671)
This commit is contained in:
committed by
GitHub
parent
5cb6c25ca0
commit
3ad65bc163
@@ -18,8 +18,7 @@
|
||||
*/
|
||||
import React from 'react';
|
||||
import { shallow } from 'enzyme';
|
||||
import { DropdownButton } from 'react-bootstrap';
|
||||
import { Menu } from 'src/common/components';
|
||||
import { Menu, NoAnimationDropdown } from 'src/common/components';
|
||||
import RefreshIntervalModal from 'src/dashboard/components/RefreshIntervalModal';
|
||||
import URLShortLinkModal from 'src/components/URLShortLinkModal';
|
||||
import HeaderActionsDropdown from 'src/dashboard/components/HeaderActionsDropdown';
|
||||
@@ -57,40 +56,43 @@ describe('HeaderActionsDropdown', () => {
|
||||
const wrapper = shallow(
|
||||
<HeaderActionsDropdown {...props} {...overrideProps} />,
|
||||
);
|
||||
return wrapper;
|
||||
const menu = shallow(
|
||||
<div>{wrapper.find(NoAnimationDropdown).props().overlay}</div>,
|
||||
);
|
||||
return { wrapper, menu };
|
||||
}
|
||||
|
||||
describe('readonly-user', () => {
|
||||
const overrideProps = { userCanSave: false };
|
||||
|
||||
it('should render the DropdownButton', () => {
|
||||
const wrapper = setup(overrideProps);
|
||||
expect(wrapper.find(DropdownButton)).toExist();
|
||||
const { wrapper } = setup(overrideProps);
|
||||
expect(wrapper.find(NoAnimationDropdown)).toExist();
|
||||
});
|
||||
|
||||
it('should not render the SaveModal', () => {
|
||||
const wrapper = setup(overrideProps);
|
||||
expect(wrapper.find(SaveModal)).not.toExist();
|
||||
const { menu } = setup(overrideProps);
|
||||
expect(menu.find(SaveModal)).not.toExist();
|
||||
});
|
||||
|
||||
it('should render five Menu items', () => {
|
||||
const wrapper = setup(overrideProps);
|
||||
expect(wrapper.find(Menu.Item)).toHaveLength(5);
|
||||
const { menu } = setup(overrideProps);
|
||||
expect(menu.find(Menu.Item)).toHaveLength(5);
|
||||
});
|
||||
|
||||
it('should render the RefreshIntervalModal', () => {
|
||||
const wrapper = setup(overrideProps);
|
||||
expect(wrapper.find(RefreshIntervalModal)).toExist();
|
||||
const { menu } = setup(overrideProps);
|
||||
expect(menu.find(RefreshIntervalModal)).toExist();
|
||||
});
|
||||
|
||||
it('should render the URLShortLinkModal', () => {
|
||||
const wrapper = setup(overrideProps);
|
||||
expect(wrapper.find(URLShortLinkModal)).toExist();
|
||||
const { menu } = setup(overrideProps);
|
||||
expect(menu.find(URLShortLinkModal)).toExist();
|
||||
});
|
||||
|
||||
it('should not render the CssEditor', () => {
|
||||
const wrapper = setup(overrideProps);
|
||||
expect(wrapper.find(CssEditor)).not.toExist();
|
||||
const { menu } = setup(overrideProps);
|
||||
expect(menu.find(CssEditor)).not.toExist();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -98,33 +100,33 @@ describe('HeaderActionsDropdown', () => {
|
||||
const overrideProps = { userCanSave: true };
|
||||
|
||||
it('should render the DropdownButton', () => {
|
||||
const wrapper = setup(overrideProps);
|
||||
expect(wrapper.find(DropdownButton)).toExist();
|
||||
const { wrapper } = setup(overrideProps);
|
||||
expect(wrapper.find(NoAnimationDropdown)).toExist();
|
||||
});
|
||||
|
||||
it('should render the SaveModal', () => {
|
||||
const wrapper = setup(overrideProps);
|
||||
expect(wrapper.find(SaveModal)).toExist();
|
||||
const { menu } = setup(overrideProps);
|
||||
expect(menu.find(SaveModal)).toExist();
|
||||
});
|
||||
|
||||
it('should render six Menu items', () => {
|
||||
const wrapper = setup(overrideProps);
|
||||
expect(wrapper.find(Menu.Item)).toHaveLength(6);
|
||||
const { menu } = setup(overrideProps);
|
||||
expect(menu.find(Menu.Item)).toHaveLength(6);
|
||||
});
|
||||
|
||||
it('should render the RefreshIntervalModal', () => {
|
||||
const wrapper = setup(overrideProps);
|
||||
expect(wrapper.find(RefreshIntervalModal)).toExist();
|
||||
const { menu } = setup(overrideProps);
|
||||
expect(menu.find(RefreshIntervalModal)).toExist();
|
||||
});
|
||||
|
||||
it('should render the URLShortLinkModal', () => {
|
||||
const wrapper = setup(overrideProps);
|
||||
expect(wrapper.find(URLShortLinkModal)).toExist();
|
||||
const { menu } = setup(overrideProps);
|
||||
expect(menu.find(URLShortLinkModal)).toExist();
|
||||
});
|
||||
|
||||
it('should not render the CssEditor', () => {
|
||||
const wrapper = setup(overrideProps);
|
||||
expect(wrapper.find(CssEditor)).not.toExist();
|
||||
const { menu } = setup(overrideProps);
|
||||
expect(menu.find(CssEditor)).not.toExist();
|
||||
});
|
||||
});
|
||||
|
||||
@@ -132,33 +134,33 @@ describe('HeaderActionsDropdown', () => {
|
||||
const overrideProps = { userCanSave: true, editMode: true };
|
||||
|
||||
it('should render the DropdownButton', () => {
|
||||
const wrapper = setup(overrideProps);
|
||||
expect(wrapper.find(DropdownButton)).toExist();
|
||||
const { wrapper } = setup(overrideProps);
|
||||
expect(wrapper.find(NoAnimationDropdown)).toExist();
|
||||
});
|
||||
|
||||
it('should render the SaveModal', () => {
|
||||
const wrapper = setup(overrideProps);
|
||||
expect(wrapper.find(SaveModal)).toExist();
|
||||
const { menu } = setup(overrideProps);
|
||||
expect(menu.find(SaveModal)).toExist();
|
||||
});
|
||||
|
||||
it('should render seven MenuItems', () => {
|
||||
const wrapper = setup(overrideProps);
|
||||
expect(wrapper.find(Menu.Item)).toHaveLength(7);
|
||||
const { menu } = setup(overrideProps);
|
||||
expect(menu.find(Menu.Item)).toHaveLength(7);
|
||||
});
|
||||
|
||||
it('should render the RefreshIntervalModal', () => {
|
||||
const wrapper = setup(overrideProps);
|
||||
expect(wrapper.find(RefreshIntervalModal)).toExist();
|
||||
const { menu } = setup(overrideProps);
|
||||
expect(menu.find(RefreshIntervalModal)).toExist();
|
||||
});
|
||||
|
||||
it('should render the URLShortLinkModal', () => {
|
||||
const wrapper = setup(overrideProps);
|
||||
expect(wrapper.find(URLShortLinkModal)).toExist();
|
||||
const { menu } = setup(overrideProps);
|
||||
expect(menu.find(URLShortLinkModal)).toExist();
|
||||
});
|
||||
|
||||
it('should render the CssEditor', () => {
|
||||
const wrapper = setup(overrideProps);
|
||||
expect(wrapper.find(CssEditor)).toExist();
|
||||
const { menu } = setup(overrideProps);
|
||||
expect(menu.find(CssEditor)).toExist();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user