import { jsx, jsxs } from "react/jsx-runtime";
import React from "react";
import { render } from "@testing-library/react-native";
import { Building } from "@gympass/yoga-icons";
import { ThemeProvider, Tag, v3theme } from "../..";
describe("<Tag />", () => {
  it("should match snapshot when v3Theme is settled", () => {
    const { toJSON } = render(
      /* @__PURE__ */ jsx(ThemeProvider, { theme: v3theme, children: /* @__PURE__ */ jsx(Tag, { children: "v3Theme" }) })
    );
    expect(toJSON()).toMatchSnapshot();
  });
  it("should match snapshot", () => {
    const { toJSON } = render(
      /* @__PURE__ */ jsx(ThemeProvider, { children: /* @__PURE__ */ jsx(Tag, { children: "default" }) })
    );
    expect(toJSON()).toMatchSnapshot();
  });
  it("should match snapshot with custom icon and informative type", () => {
    const { toJSON } = render(
      /* @__PURE__ */ jsxs(ThemeProvider, { children: [
        /* @__PURE__ */ jsx(Tag.Informative, { variant: "success", icon: Building, children: "success with custom icon" }),
        /* @__PURE__ */ jsx(Tag.Informative, { variant: "success", icon: Building, small: true, children: "success with custom icon" })
      ] })
    );
    expect(toJSON()).toMatchSnapshot();
  });
  it("should match snapshot with without icon and informative type", () => {
    const { toJSON } = render(
      /* @__PURE__ */ jsxs(ThemeProvider, { children: [
        /* @__PURE__ */ jsx(Tag.Informative, { variant: "success", children: "success without icon" }),
        /* @__PURE__ */ jsx(Tag.Informative, { variant: "success", small: true, children: "success without icon" })
      ] })
    );
    expect(toJSON()).toMatchSnapshot();
  });
  it("should match snapshot with variant prop", () => {
    const { toJSON } = render(
      /* @__PURE__ */ jsxs(ThemeProvider, { children: [
        /* @__PURE__ */ jsx(Tag, { variant: "success", children: "success" }),
        /* @__PURE__ */ jsx(Tag, { variant: "informative", children: "informative" }),
        /* @__PURE__ */ jsx(Tag, { variant: "attention", children: "attention" }),
        /* @__PURE__ */ jsx(Tag, { variant: "attention", small: true, children: "attention small" })
      ] })
    );
    expect(toJSON()).toMatchSnapshot();
  });
  it("should match snapshot with variant prop and informative type", () => {
    const { toJSON } = render(
      /* @__PURE__ */ jsxs(ThemeProvider, { children: [
        /* @__PURE__ */ jsx(Tag.Informative, { variant: "neutral", children: "neutral" }),
        /* @__PURE__ */ jsx(Tag.Informative, { variant: "success", children: "success" }),
        /* @__PURE__ */ jsx(Tag.Informative, { variant: "informative", children: "informative" }),
        /* @__PURE__ */ jsx(Tag.Informative, { variant: "attention", children: "attention" }),
        /* @__PURE__ */ jsx(Tag.Informative, { variant: "attention", small: true, children: "attention small" })
      ] })
    );
    expect(toJSON()).toMatchSnapshot();
  });
  it("should match snapshot with variant and margin prop ", () => {
    const { toJSON } = render(
      /* @__PURE__ */ jsxs(ThemeProvider, { children: [
        /* @__PURE__ */ jsx(Tag, { variant: "success", children: "success" }),
        /* @__PURE__ */ jsx(Tag, { mv: "medium", variant: "informative", children: "informative" }),
        /* @__PURE__ */ jsx(Tag, { variant: "attention", children: "attention" })
      ] })
    );
    expect(toJSON()).toMatchSnapshot();
  });
  it("should match snapshot with variant prop and informative type with margin prop", () => {
    const { toJSON } = render(
      /* @__PURE__ */ jsxs(ThemeProvider, { children: [
        /* @__PURE__ */ jsx(Tag.Informative, { variant: "success", children: "success" }),
        /* @__PURE__ */ jsx(Tag.Informative, { mv: "medium", variant: "informative", children: "informative" }),
        /* @__PURE__ */ jsx(Tag.Informative, { variant: "attention", children: "attention" })
      ] })
    );
    expect(toJSON()).toMatchSnapshot();
  });
});
