2023-02-10 15:39:06 +00:00
|
|
|
import { rawRender, RenderOptions, screen } from "@/tests";
|
2023-02-10 15:10:13 +00:00
|
|
|
import { useForm } from "@mantine/form";
|
2023-06-04 15:03:59 +00:00
|
|
|
import { FunctionComponent, PropsWithChildren, ReactElement } from "react";
|
2023-02-10 15:10:13 +00:00
|
|
|
import { describe, it } from "vitest";
|
|
|
|
import { FormContext, FormValues } from "../utilities/FormValues";
|
|
|
|
import { Number, Text } from "./forms";
|
|
|
|
|
2023-06-04 15:03:59 +00:00
|
|
|
const FormSupport: FunctionComponent<PropsWithChildren> = ({ children }) => {
|
2023-02-10 15:10:13 +00:00
|
|
|
const form = useForm<FormValues>({
|
|
|
|
initialValues: {
|
|
|
|
settings: {},
|
|
|
|
hooks: {},
|
|
|
|
},
|
|
|
|
});
|
|
|
|
return <FormContext.Provider value={form}>{children}</FormContext.Provider>;
|
|
|
|
};
|
|
|
|
|
2023-02-10 15:39:06 +00:00
|
|
|
const formRender = (
|
|
|
|
ui: ReactElement,
|
|
|
|
options?: Omit<RenderOptions, "wrapper">
|
|
|
|
) => rawRender(ui, { wrapper: FormSupport, ...options });
|
|
|
|
|
2023-02-10 15:10:13 +00:00
|
|
|
describe("Settings form", () => {
|
|
|
|
describe("number component", () => {
|
|
|
|
it("should be able to render", () => {
|
2023-02-10 15:39:06 +00:00
|
|
|
formRender(<Number settingKey="test-numberValue"></Number>);
|
2023-02-10 15:10:13 +00:00
|
|
|
|
|
|
|
expect(screen.getByRole("textbox")).toBeDefined();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
describe("text component", () => {
|
|
|
|
it("should be able to render", () => {
|
2023-02-10 15:39:06 +00:00
|
|
|
formRender(<Text settingKey="test-textValue"></Text>);
|
2023-02-10 15:10:13 +00:00
|
|
|
|
|
|
|
expect(screen.getByRole("textbox")).toBeDefined();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|