svelte-hook-form
Version:
A better version of form validation.
28 lines (19 loc) • 760 B
text/typescript
import { render, fireEvent, waitFor } from "@testing-library/svelte";
import Form from "./Form.svelte";
test("svelte-hook-form/parallel-submission", async () => {
const { container, component, getByTestId } = render(Form, {});
const submitEl = container.querySelector(`[type="submit"]`)!;
expect(submitEl).toBeInTheDocument();
const promises: Promise<boolean>[] = [];
const submitCount = 20;
for (let i = 0; i < submitCount; i++) {
promises.push(fireEvent.click(submitEl));
}
await Promise.all(promises);
const submitCountEl = getByTestId("submitCount");
expect(submitCountEl).toBeInTheDocument();
expect(Number(submitCountEl.innerHTML)).toBe(submitCount);
await waitFor(() => {
console.log(component.$$.ctx);
});
});