import React from "react";
import { View } from "react-native";
import { render } from "@testing-library/react-native";
import { HookRenderer } from "..";
jest.mock("@applicaster/zapp-react-native-utils/reactUtils", () => ({
isTV: jest.fn(() => false),
}));
jest.mock("@applicaster/zapp-react-native-utils/reactHooks/navigation", () => ({
useBackHandler: jest.fn(),
useIsNavBarVisible: jest.fn(() => true),
}));
jest.mock(
"@applicaster/zapp-react-native-utils/analyticsUtils/helpers/hooks",
() => ({
useHookAnalytics: jest.fn(),
})
);
jest.mock("@applicaster/zapp-react-native-utils/reactHooks", () => ({
useSetNavbarState: jest.fn(() => ({
setVisible: jest.fn(),
})),
}));
describe("HookRenderer", () => {
it("returns null when hookPlugin is missing", () => {
const { toJSON } = render(
);
expect(toJSON()).toBeNull();
});
it("passes Hook presentationType to rendered hook component", () => {
const HookComponent = (props) => (
);
const { getByTestId } = render(
);
expect(getByTestId("hook-component").props.presentationType).toBe("Hook");
});
});