import React from "react"; import { ObfuscatableValue } from "./ObfuscatableValue"; import { render, fireEvent } from "@testing-library/react"; describe("obfuscatablevalue component", () => { it("should display value only and not call onObfuscationRequested when editable is not set", () => { const callback = jest.fn(); const { getByText, queryByTitle } = render( , ); expect(getByText("Text to display")).toBeDefined(); expect(queryByTitle("Obfuscate value")).toBeNull(); fireEvent.click(getByText(/Text to display/i)); expect(callback).toHaveBeenCalledTimes(0); }); it("should display value only and not call onObfuscationRequested when editable is set to false", () => { const callback = jest.fn(); const { getByText, queryByTitle } = render( , ); expect(getByText("Text to display")).toBeDefined(); expect(queryByTitle("Obfuscate value")).toBeNull(); fireEvent.click(getByText(/Text to display/i)); expect(callback).toHaveBeenCalledTimes(0); }); it("should display value/cross and call onObfuscationRequested when editable is set to true", () => { const callback = jest.fn(); const { getByText, getByTitle } = render( , ); expect(getByText("Text to display")).toBeDefined(); expect(getByTitle("Obfuscate value")).toBeDefined(); fireEvent.click(getByText(/Text to display/i)); expect(callback).toHaveBeenCalledTimes(1); }); });