import { render, screen } from "@solidjs/testing-library";
import { describe, expect, it } from "vitest";
import { Avatar } from "../../../src/components/avatar/index";
import { AvatarRootPropsSchema, AvatarMeta } from "../../../src/components/avatar/avatar.props";
describe("Avatar", () => {
it("renders fallback when no image", () => {
render(() => MB);
expect(screen.getByTestId("fallback")).toBeTruthy();
expect(screen.getByText("MB")).toBeTruthy();
});
it("renders image element", () => {
render(() => (
MB
));
const img = screen.getByTestId("img");
expect(img.tagName).toBe("IMG");
});
it("schema validates", () => {
expect(AvatarRootPropsSchema.safeParse({}).success).toBe(true);
});
it("meta has fields", () => {
expect(AvatarMeta.name).toBe("Avatar");
expect(AvatarMeta.parts).toContain("Root");
expect(AvatarMeta.parts).toContain("Image");
expect(AvatarMeta.parts).toContain("Fallback");
});
});