import { fireEvent } from "@testing-library/react-native" import { renderWithWrappersTL } from "app/tests/renderWithWrappers" import { Spinner } from "palette/elements/Spinner" import { Button } from "./Button" describe("Button", () => { it("returns correctly", () => { const { UNSAFE_queryAllByType } = renderWithWrappersTL() expect(UNSAFE_queryAllByType(Spinner)).toHaveLength(0) }) it("shows spinner if loading is true", () => { const { UNSAFE_queryAllByType } = renderWithWrappersTL() expect(UNSAFE_queryAllByType(Spinner)).toHaveLength(1) }) it("invokes the onClick callback", () => { const onPress = jest.fn() const { getByTestId } = renderWithWrappersTL( ) fireEvent.press(getByTestId("the-button")) expect(onPress).toHaveBeenCalled() }) it("does not invoke the onClick callback if loading is true", () => { const onPress = jest.fn() const { getByTestId } = renderWithWrappersTL( ) fireEvent.press(getByTestId("the-button")) expect(onPress).not.toHaveBeenCalled() }) it("does not invoke the onClick callback if disabled is true", () => { const onPress = jest.fn() const { getByTestId } = renderWithWrappersTL( ) fireEvent.press(getByTestId("the-button")) expect(onPress).not.toHaveBeenCalled() }) })