Skip to content

Instantly share code, notes, and snippets.

@TimoWestland
Created October 27, 2021 13:21
Show Gist options
  • Save TimoWestland/672ed2e590b4ffda55b924e1e1ab3b6c to your computer and use it in GitHub Desktop.
Save TimoWestland/672ed2e590b4ffda55b924e1e1ab3b6c to your computer and use it in GitHub Desktop.
import { mocked } from "ts-jest/utils";
import { useBloomreach } from "../../hooks";
const defaultBloomreachContext = {
preview: false,
};
jest.mock("../../hooks", () => {
const actual = jest.requireActual("../../hooks");
return {
...actual,
__esModule: true,
useBloomreach: jest.fn(() => defaultBloomreachContext),
};
});
const mockUseBloomreach = mocked(useBloomreach);
describe("SomeComponent", () => {
it("should not render preview notification by default", () => {
render(<SomeComponent {...defaultProps} />);
expect(
screen.queryByText("You are in preview mode")
).not.toBeInTheDocument();
});
it("should render preview notification when in preview mode", () => {
mockUseBloomreach.mockImplementation(() => ({
...defaultBloomreachContext,
preview: true,
}));
render(<SomeComponent {...defaultProps} />);
expect(screen.getByText("You are in preview mode")).toBeInTheDocument();
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment