@applicaster/zapp-react-native-ui-components
Version:
Applicaster Zapp React Native ui components for the Quick Brick App
51 lines (40 loc) • 1.21 kB
JavaScript
import React from "react";
import { render } from "@testing-library/react-native";
import { RouteManager } from "../";
const mockPathname = "/river/A1234";
const mockScreenData = { id: "A1234" };
jest.mock("@applicaster/zapp-react-native-utils/reactHooks/navigation", () => ({
useRoute: jest.fn(() => ({
pathname: mockPathname,
screenData: mockScreenData,
})),
}));
jest.mock(
"@applicaster/zapp-react-native-ui-components/Components/ScreenResolver",
() => {
const { View } = jest.requireActual("react-native");
return {
ScreenResolver: (props) => <View testID="screen-resolver" {...props} />,
};
}
);
describe("<RouteManager />", () => {
let wrapper;
beforeEach(() => {
jest.clearAllMocks();
wrapper = render(
<RouteManager pathname={mockPathname} screenData={mockScreenData} />
);
});
it("renders correctly", () => {
expect(wrapper.toJSON()).toMatchSnapshot();
});
it("passes the correct props to ScreenResolver", () => {
expect(wrapper.getByTestId("screen-resolver").props).toMatchObject({
pathname: "/river/A1234",
screenType: "river",
screenId: "A1234",
screenData: { id: "A1234" },
});
});
});