Skip to content
Snippets Groups Projects
Select Git revision
  • 992452ab34a31bbeb507daf84b919efcd99bc679
  • mui5-annotation-on-video-stable default
  • get_setter_canvasSizeInformations
  • fix-error-div-into-p
  • annotation-on-video-v2
  • detached
  • annotation-on-video-r17
  • mui5
  • mui5-react-18
  • jacob-test
  • annotation-on-video protected
  • master
  • test-antoinev1
  • 20-fetch-thumbnail-on-annotation
  • add-research-field
  • Save
  • add-plugin
  • 14-wip-no-seek-to
  • 14-bug-on-video-time-control
  • 9_wip_videotests
  • _upgrade_material_ui
  • latest-tetras-16
  • v3.3.0
  • v3.2.0
  • v3.1.1
  • v3.1.0
  • v3.0.0
  • v3.0.0-rc.7
  • v3.0.0-rc.6
  • v3.0.0-rc.5
  • v3.0.0-rc.4
  • v3.0.0-rc.3
  • v3.0.0-rc.2
  • v3.0.0-rc.1
  • v3.0.0-beta.10
  • v3.0.0-beta.9
  • v3.0.0-beta.8
  • v3.0.0-beta.7
  • v3.0.0-beta.6
  • v3.0.0-beta.5
  • v3.0.0-beta.3
41 results

WorkspaceArea.js

Blame
  • WindowTopBar.test.js 2.60 KiB
    import React from 'react';
    import { shallow } from 'enzyme';
    
    import Typography from '@material-ui/core/Typography';
    import IconButton from '@material-ui/core/IconButton';
    import MenuIcon from '@material-ui/icons/Menu';
    import Toolbar from '@material-ui/core/Toolbar';
    import AppBar from '@material-ui/core/AppBar';
    
    import WindowTopMenuButton from '../../../src/containers/WindowTopMenuButton';
    import WindowTopBarButtons from '../../../src/containers/WindowTopBarButtons';
    import WindowIcon from '../../../src/containers/WindowIcon';
    import WindowTopBar from '../../../src/components/WindowTopBar';
    
    /** create wrapper */
    function createWrapper(props) {
      return shallow(
        <WindowTopBar
          manifestTitle="awesome manifest"
          windowId="xyz"
          classes={{}}
          t={str => str}
          closeWindow={() => {}}
          toggleWindowSideBar={() => {}}
          {...props}
        />,
      );
    }
    
    describe('WindowTopBar', () => {
      it('renders all needed elements', () => {
        const wrapper = createWrapper();
        expect(wrapper.find(AppBar).length).toBe(1);
        expect(wrapper.find(Toolbar).length).toBe(1);
        expect(wrapper.find(IconButton).length).toBe(2);
        expect(wrapper.find(MenuIcon).length).toBe(1);
        expect(wrapper.find(WindowIcon).length).toBe(1);
        expect(wrapper.find(Typography).length).toBe(1);
        expect(wrapper.find(WindowTopBarButtons).length).toBe(1);
        expect(wrapper.find(WindowTopMenuButton).length).toBe(1);
      });
    
      it('passes correct props to <IconButton/>', () => {
        const toggleWindowSideBar = jest.fn();
        const wrapper = createWrapper({ toggleWindowSideBar });
        expect(wrapper.find(IconButton).first().props().onClick).toBe(toggleWindowSideBar);
      });
    
      it('passes correct props to <WindowIcon/>', () => {
        const wrapper = createWrapper();
        expect(wrapper.find(WindowIcon).first().props().windowId).toBe('xyz');
      });
    
      it('passes correct props to <Typography/>', () => {
        const wrapper = createWrapper();
        expect(wrapper.find(Typography).first().render().text()).toBe('awesome manifest');
      });
    
      it('passes correct props to <WindowTopBarButtons/>', () => {
        const wrapper = createWrapper();
        expect(wrapper.find(WindowTopBarButtons).first().props().windowId).toBe('xyz');
      });
    
      it('passe correct props to <WindowTopMenuButton', () => {
        const wrapper = createWrapper();
        expect(wrapper.find(WindowTopMenuButton).first().props().windowId).toBe('xyz');
      });
    
      it('passes correct props to <Button/>', () => {
        const closeWindow = jest.fn();
        const wrapper = createWrapper({ closeWindow });
        expect(wrapper.find(IconButton).last().props().onClick).toBe(closeWindow);
      });
    });