import { cleanup, render, screen } from "@testing-library/react";
import assert from "node:assert";
import { afterEach, describe, test } from "node:test";
import { Container } from "./index";
describe("Container", () => {
afterEach(() => {
cleanup();
});
test("renders children", () => {
render(
Test
Child 1
);
assert.notStrictEqual(screen.queryByText("Test"), null);
assert.notStrictEqual(screen.queryByText("Child 1"), null);
});
test("applies default class", () => {
const { container } = render();
const element = container.firstChild as HTMLElement;
assert.ok(element.classList.contains("container"));
});
test("passes extra attributes", () => {
render();
assert.notStrictEqual(screen.queryByTestId("container"), null);
});
test("applies custom styles", () => {
const customStyle = {
backgroundColor: "red",
padding: "20px",
display: "flex",
};
const { container } = render(
Test
);
const div = container.firstChild as HTMLElement;
assert.strictEqual(div.style.backgroundColor, "red");
assert.strictEqual(div.style.padding, "20px");
assert.strictEqual(div.style.display, "flex");
});
});