import { shallow } from 'enzyme'; import * as React from 'react'; import { BlockableAccelerator } from '../../../src/interfaces'; import { BlockAcceleratorsSettings } from '../../../src/renderer/components/settings-general-block-accelerators'; import { StateMock } from '../../mocks/mocks'; describe('BlockAcceleratorsSettings component', () => { let store: StateMock; beforeEach(() => { ({ state: store } = (window as any).ElectronFiddle.app); }); it('renders', () => { const wrapper = shallow( , ); expect(wrapper).toMatchSnapshot(); }); describe('handleBlockAcceleratorChange()', () => { it('handles a new selection', async () => { const wrapper = shallow( , ); const instance = wrapper.instance() as any; await instance.handleBlockAcceleratorChange({ currentTarget: { checked: false, value: BlockableAccelerator.save }, }); expect(store.removeAcceleratorToBlock).toHaveBeenCalledWith( BlockableAccelerator.save, ); await instance.handleBlockAcceleratorChange({ currentTarget: { checked: true, value: BlockableAccelerator.save }, }); expect(store.addAcceleratorToBlock).toHaveBeenCalledWith( BlockableAccelerator.save, ); }); }); });