fleet/frontend/components/buttons/DropdownButton/DropdownButton.tests.jsx
Zach Wasserman 0670db66c4
Migrate JS tests to Jest and update libraries (#74)
- Move from Mocha to Jest for JS testing (Jest seems to have better support for
 'watching' tests and a more active community these days).
- Codemod existing tests to Jest syntax (using https://github.com/skovhus/jest-codemods)
- Fix some errors in tests that were previously hidden.
- Update Babel.
2020-12-01 10:15:12 -08:00

24 lines
774 B
JavaScript

import React from 'react';
import { mount } from 'enzyme';
import { noop } from 'lodash';
import { DropdownButton } from './DropdownButton';
describe('DropdownButton - component', () => {
it("calls the clicked item's onClick attribute", () => {
const optionSpy = jest.fn();
const dropdownOptions = [{ label: 'btn1', onClick: noop }, { label: 'btn2', onClick: optionSpy }];
const component = mount(
<DropdownButton options={dropdownOptions}>
New Button
</DropdownButton>,
);
component.find('button.dropdown-button').simulate('click');
expect(component.state().isOpen).toEqual(true);
component.find('li.dropdown-button__option').last().find('Button').simulate('click');
expect(optionSpy).toHaveBeenCalled();
});
});