import React from "react"; import { render, screen } from "@testing-library/react"; import { DEFAULT_EMPTY_CELL_VALUE } from "utilities/constants"; import TextCell from "./TextCell"; describe("TextCell", () => { it("renders booleans as string", () => { render(); expect(screen.getByText("false")).toBeInTheDocument(); }); it("renders a default value when `value` is null, undefined, or an empty string", () => { const { rerender } = render(); expect(screen.getByText(DEFAULT_EMPTY_CELL_VALUE)).toBeInTheDocument(); rerender(); expect(screen.getByText(DEFAULT_EMPTY_CELL_VALUE)).toBeInTheDocument(); rerender(); expect(screen.getByText(DEFAULT_EMPTY_CELL_VALUE)).toBeInTheDocument(); }); it("renders a default value when `value` is null, undefined, or an empty string after formatting", () => { const { rerender } = render( null} /> ); expect(screen.getByText(DEFAULT_EMPTY_CELL_VALUE)).toBeInTheDocument(); rerender( undefined} />); expect(screen.getByText(DEFAULT_EMPTY_CELL_VALUE)).toBeInTheDocument(); rerender( ""} />); expect(screen.getByText(DEFAULT_EMPTY_CELL_VALUE)).toBeInTheDocument(); }); it("uses the provided formatter function", () => { render( "bar"} />); expect(screen.getByText("bar")).toBeInTheDocument(); }); it("renders the value '0' as a number", () => { render(); expect(screen.getByText("0")).toBeInTheDocument(); }); });