// contact.test.jsimport React from "react";import { render, unmountComponentAtNode } from "react-dom";import { act } from "react-dom/test-utils";import Contact from "./contact";import MockedMap from "./map";jest.mock("./map", () => { return function DummyMap(props) { return (
{props.center.lat}:{props.center.long}
); };});let container = null;beforeEach(() => { // setup a DOM element as a render target container = document.createElement("div"); document.body.appendChild(container);});afterEach(() => { // cleanup on exiting unmountComponentAtNode(container); container.remove(); container = null;});it("should render contact information", () => { const center = { lat: 0, long: 0 }; act(() => { render( , container ); }); expect( container.querySelector("[data-testid='email']").getAttribute("href") ).toEqual("mailto:test@example.com"); expect( container.querySelector('[data-testid="site"]').getAttribute("href") ).toEqual("http://test.com"); expect(container.querySelector('[data-testid="map"]').textContent).toEqual( "0:0" );});