theo-agent-dashboard

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

JsonResult.test.tsx (2353B)


      1 import { describe, it, expect } from "vitest";
      2 import { render, screen, within } from "@testing-library/react";
      3 import { JsonResult } from "./JsonResult";
      4 
      5 describe("JsonResult", () => {
      6   it("renders a simple object", () => {
      7     const { container } = render(<JsonResult data={{ key: "value" }} />);
      8     expect(container.textContent).toContain("key");
      9     expect(container.textContent).toContain("value");
     10   });
     11 
     12   it("renders a simple array", () => {
     13     const { container } = render(<JsonResult data={[1, 2, 3]} />);
     14     expect(container.textContent).toContain("1");
     15     expect(container.textContent).toContain("2");
     16     expect(container.textContent).toContain("3");
     17   });
     18 
     19   it("renders empty object", () => {
     20     const { container } = render(<JsonResult data={{}} />);
     21     expect(container.querySelector("[data-testid='json-tree']")).toBeTruthy();
     22   });
     23 
     24   it("renders empty array", () => {
     25     const { container } = render(<JsonResult data={[]} />);
     26     expect(container.querySelector("[data-testid='json-tree']")).toBeTruthy();
     27   });
     28 
     29   it("renders nested objects", () => {
     30     const { container } = render(<JsonResult data={{ outer: { inner: "deep" } }} />);
     31     expect(container.textContent).toContain("outer");
     32     expect(container.textContent).toContain("inner");
     33     expect(container.textContent).toContain("deep");
     34   });
     35 
     36   it("renders with dark styles", () => {
     37     const { container } = render(<JsonResult data={{ test: true }} />);
     38     const tree = container.querySelector("[data-testid='json-tree']");
     39     expect(tree).toBeTruthy();
     40   });
     41 
     42   it("renders null values", () => {
     43     const { container } = render(<JsonResult data={{ key: null }} />);
     44     expect(container.textContent).toContain("key");
     45     expect(container.textContent).toContain("null");
     46   });
     47 
     48   it("renders boolean values", () => {
     49     const { container } = render(<JsonResult data={{ yes: true, no: false }} />);
     50     expect(container.textContent).toContain("true");
     51     expect(container.textContent).toContain("false");
     52   });
     53 
     54   it("renders number values", () => {
     55     const { container } = render(<JsonResult data={{ count: 42 }} />);
     56     expect(container.textContent).toContain("42");
     57   });
     58 
     59   it("renders string values", () => {
     60     const { container } = render(<JsonResult data={{ name: "test" }} />);
     61     expect(container.textContent).toContain("test");
     62   });
     63 });