fleet/frontend/components/buttons/DropdownButton/DropdownButton.tests.jsx

29 lines
804 B
React
Raw Normal View History

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