@crossed/ui
Version:
A universal & performant styling library for React Native, Next.js & React
27 lines (26 loc) • 1.03 kB
JavaScript
import { jsx } from "react/jsx-runtime";
import { Switch } from "../index";
import { screen, render, fireEvent } from "@crossed/test";
describe("Switch", () => {
test("Simple render", () => {
const onChange = jest.fn();
render(/* @__PURE__ */ jsx(Switch, { onChange, children: "Simple" }));
const switchComp = screen.getByRole("switch");
expect(switchComp).toHaveAttribute("aria-checked", "false");
fireEvent.click(switchComp);
expect(onChange).toHaveBeenCalled();
expect(switchComp).toHaveAttribute("aria-checked", "true");
});
test("Disabled", () => {
const onChange = jest.fn();
render(
/* @__PURE__ */ jsx(Switch, { onChange, disabled: true, children: "Simple" })
);
const switchComp = screen.getByRole("switch");
expect(switchComp).toHaveAttribute("aria-checked", "false");
fireEvent.click(switchComp);
expect(switchComp).toHaveAttribute("aria-checked", "false");
expect(onChange).not.toHaveBeenCalled();
});
});
//# sourceMappingURL=Switch.spec.js.map