import { ButtonV1 as Button } from '@fluentui-react-native/button'; import * as renderer from 'react-test-renderer'; import { act } from 'react'; import { Menu } from '../Menu/Menu'; import { MenuDivider } from '../MenuDivider/MenuDivider'; import { MenuGroup } from '../MenuGroup'; import { MenuGroupHeader } from '../MenuGroupHeader'; import { MenuItem } from '../MenuItem/MenuItem'; import { MenuItemCheckbox } from '../MenuItemCheckbox/MenuItemCheckbox'; import { MenuItemRadio } from '../MenuItemRadio/MenuItemRadio'; import { MenuList } from '../MenuList/MenuList'; import MenuPopover from '../MenuPopover/MenuPopover'; import MenuTrigger from '../MenuTrigger/MenuTrigger'; describe('Menu component tests', () => { it('Menu default', () => { let component: renderer.ReactTestRenderer; act(() => { component = renderer.create( Option 1 , ); }); const tree = component!.toJSON(); expect(tree).toMatchSnapshot(); }); it('Menu open', () => { let component: renderer.ReactTestRenderer; act(() => { component = renderer.create( Option 1 , ); }); const tree = component!.toJSON(); expect(tree).toMatchSnapshot(); }); it('Menu defaultOpen', () => { let component: renderer.ReactTestRenderer; act(() => { component = renderer.create( Option 1 , ); }); const tree = component!.toJSON(); expect(tree).toMatchSnapshot(); }); it('Menu defaultOpen with disabled', () => { let component: renderer.ReactTestRenderer; act(() => { component = renderer.create( Option 1 Option 2 , ); }); const tree = component!.toJSON(); expect(tree).toMatchSnapshot(); }); it('Menu open checkbox and divider', () => { let component: renderer.ReactTestRenderer; act(() => { component = renderer.create( Option 1 Option 2 , ); }); const tree = component!.toJSON(); expect(tree).toMatchSnapshot(); }); it('Menu open radio', () => { let component: renderer.ReactTestRenderer; act(() => { component = renderer.create( Option 1 Option 2 , ); }); const tree = component!.toJSON(); expect(tree).toMatchSnapshot(); }); it('Menu open checkbox defaultChecked', () => { let component: renderer.ReactTestRenderer; act(() => { component = renderer.create( Option 1 Option 2 , ); }); const tree = component!.toJSON(); expect(tree).toMatchSnapshot(); }); it('Menu open checkbox checked', () => { let component: renderer.ReactTestRenderer; act(() => { component = renderer.create( Option 1 Option 2 , ); }); const tree = component!.toJSON(); expect(tree).toMatchSnapshot(); }); it('Menu submenu', () => { let component: renderer.ReactTestRenderer; act(() => { component = renderer.create( Option 1 Option 2 Option 1 , ); }); const tree = component!.toJSON(); expect(tree).toMatchSnapshot(); }); // Note the capital T the "Tip" (in the snapshot) // It is intentional as it matches the same prop in NetUI it('Menu alwaysShowToolTip', () => { let component: renderer.ReactTestRenderer; act(() => { component = renderer.create( Test With Tooltip Radio Tooltip Checkbox Tooltip , ); }); const tree = component!.toJSON(); expect(tree).toMatchSnapshot(); }); }); it('Menu open menu group and menu header', () => { let component: renderer.ReactTestRenderer; act(() => { component = renderer.create( Header 1 Option 1 Header 2 Option 1 , ); }); const tree = component!.toJSON(); expect(tree).toMatchSnapshot(); });