import React from "react"; import { render, screen } from "@testing-library/react"; import "@testing-library/jest-dom"; import TextDiff from "./components/TextDiff"; describe("TextDiff", () => { it("renders unchanged text without strike-through or highlight styling", () => { render(); expect(screen.getByText("Backend engineer.")).toBeInTheDocument(); }); it("marks removed words with a distinct style from unchanged text", () => { render(); const removed = screen.getByText("Assisted with", { selector: "span" }); const unchanged = screen.getByText(/the migration\./, { selector: "span" }); // jsdom doesn't resolve emotion's generated CSS cascade for getComputedStyle, so assert the // component branched into a different (MUI-generated) class for removed vs. unchanged text // rather than the literal computed decoration value. expect(removed.className).not.toBe(unchanged.className); }); it("treats an empty before as an entirely new addition", () => { render(); expect(screen.getByText(/Brand new summary\./)).toBeInTheDocument(); }); });