Skip to content
Snippets Groups Projects
Select Git revision
  • a34930def960a7c289dfaf5e0f535442adad876e
  • 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

CompanionWindow.test.js

Blame
  • user avatar
    Mathias Maaß authored
    d317ac6b
    History
    CompanionWindow.test.js 1.66 KiB
    import React from 'react';
    import { shallow } from 'enzyme';
    import CompanionWindow from '../../../src/components/CompanionWindow';
    import WindowSideBarInfoPanel from '../../../src/containers/WindowSideBarInfoPanel';
    
    /** create wrapper */
    function createWrapper(props) {
      return shallow(
        <CompanionWindow
          id="abc123"
          windowId="x"
          classes={{}}
          companionWindow={{}}
          position="right"
          {...props}
        />,
      ).dive(); // unwrap HOC created by withStyles()
    }
    
    describe('CompanionWindow', () => {
      let companionWindow;
    
      describe('when the panelContent is set to "info"', () => {
        it('renders the WindowSideBarInfoPanel', () => {
          companionWindow = createWrapper({ content: 'info' });
          expect(companionWindow.find(WindowSideBarInfoPanel).length).toBe(1);
        });
      });
    
      describe('when the sideBarPanel is set to any unknown value/undefined', () => {
        it('does not render any panel component', () => {
          companionWindow = createWrapper();
          expect(companionWindow.find(WindowSideBarInfoPanel).length).toBe(0);
        });
      });
    
      describe('when the close companion window button is clicked', () => {
        it('triggers the onCloseClick prop with the appropriate args', () => {
          const removeCompanionWindowEvent = jest.fn();
          companionWindow = createWrapper({
            onCloseClick: removeCompanionWindowEvent,
          });
    
          const closeButton = companionWindow.find('WithStyles(IconButton)[aria-label="closeCompanionWindow"]');
          closeButton.simulate('click');
          expect(removeCompanionWindowEvent).toHaveBeenCalledTimes(1);
          expect(removeCompanionWindowEvent).toHaveBeenCalledWith('x', 'abc123');
        });
      });
    });