@nlabs/gothamjs
Version:
Platform
45 lines (44 loc) • 5.17 kB
JavaScript
import { Flux } from "@nlabs/arkhamjs";
import { FluxProvider } from "@nlabs/arkhamjs-utils-react";
import { render, screen, waitFor } from "@nlabs/lex/test-react";
import { Form } from "react-hook-form";
import { MemoryRouter } from "react-router";
import { jsx } from "react/jsx-runtime";
const getTestElement = (name, index = 0) => screen.queryAllByTestId(name)[index];
const renderWithProvider = async (Element, props = {}) => {
const {
mockRoute = "/",
...restProps
} = props;
Flux.init();
jest.useFakeTimers();
const wrapper = render(
/* @__PURE__ */ jsx(FluxProvider, { flux: Flux, children: /* @__PURE__ */ jsx(MemoryRouter, { initialEntries: [mockRoute], initialIndex: 0, children: /* @__PURE__ */ jsx(Element, { ...restProps }) }) })
);
await waitFor(() => {
jest.runAllImmediates();
});
return wrapper;
};
const renderWithForm = async (Element, props = {}) => {
const {
mocks,
onSubmit = () => {
},
...restProps
} = props;
jest.useFakeTimers();
const wrapper = render(
/* @__PURE__ */ jsx(FluxProvider, { flux: Flux, children: /* @__PURE__ */ jsx(MemoryRouter, { initialEntries: ["/"], initialIndex: 0, children: /* @__PURE__ */ jsx(Form, { onSubmit, children: /* @__PURE__ */ jsx(Element, { ...restProps }) }) }) })
);
await waitFor(() => {
jest.runAllImmediates();
});
return wrapper;
};
export {
getTestElement,
renderWithForm,
renderWithProvider
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL3Rlc3RVdGlscy50c3giXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge0ZsdXh9IGZyb20gJ0BubGFicy9hcmtoYW1qcyc7XG5pbXBvcnQge0ZsdXhQcm92aWRlcn0gZnJvbSAnQG5sYWJzL2Fya2hhbWpzLXV0aWxzLXJlYWN0JztcbmltcG9ydCB7cmVuZGVyLCBzY3JlZW4sIHdhaXRGb3J9IGZyb20gJ0BubGFicy9sZXgvdGVzdC1yZWFjdCc7XG5pbXBvcnQge0Zvcm19IGZyb20gJ3JlYWN0LWhvb2stZm9ybSc7XG5pbXBvcnQge01lbW9yeVJvdXRlcn0gZnJvbSAncmVhY3Qtcm91dGVyJztcblxuaW1wb3J0IHR5cGUge0Zvcm1TdWJtaXRIYW5kbGVyfSBmcm9tICdyZWFjdC1ob29rLWZvcm0nO1xuXG5leHBvcnQgY29uc3QgZ2V0VGVzdEVsZW1lbnQgPSAobmFtZTogc3RyaW5nLCBpbmRleDogbnVtYmVyID0gMCkgPT4gc2NyZWVuLnF1ZXJ5QWxsQnlUZXN0SWQobmFtZSlbaW5kZXhdO1xuXG5leHBvcnQgY29uc3QgcmVuZGVyV2l0aFByb3ZpZGVyOiBhbnkgPSBhc3luYyAoRWxlbWVudCwgcHJvcHMgPSB7fSkgPT4ge1xuICBjb25zdCB7XG4gICAgbW9ja1JvdXRlID0gJy8nLFxuICAgIC4uLnJlc3RQcm9wc1xuICB9OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHByb3BzO1xuICBGbHV4LmluaXQoKTtcbiAgamVzdC51c2VGYWtlVGltZXJzKCk7XG5cbiAgY29uc3Qgd3JhcHBlciA9IHJlbmRlcihcbiAgICA8Rmx1eFByb3ZpZGVyIGZsdXg9e0ZsdXh9ID5cbiAgICAgIDxNZW1vcnlSb3V0ZXIgaW5pdGlhbEVudHJpZXM9e1ttb2NrUm91dGUgYXMgc3RyaW5nXX0gaW5pdGlhbEluZGV4PXswfSA+XG4gICAgICAgIDxFbGVtZW50IHsuLi5yZXN0UHJvcHN9IC8+XG4gICAgICA8L01lbW9yeVJvdXRlcj5cbiAgICA8L0ZsdXhQcm92aWRlcj5cbiAgKTtcblxuICBhd2FpdCB3YWl0Rm9yKCgpID0+IHtcbiAgICBqZXN0LnJ1bkFsbEltbWVkaWF0ZXMoKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHdyYXBwZXI7XG59O1xuXG5pbnRlcmZhY2UgUmVuZGVyRm9ybVByb3BzIHtcbiAgbW9ja3M/OiB1bmtub3duO1xuICBvblN1Ym1pdD86IEZvcm1TdWJtaXRIYW5kbGVyPHVuZGVmaW5lZD47XG4gIFtrZXk6IHN0cmluZ106IHVua25vd247XG59XG5cbmV4cG9ydCBjb25zdCByZW5kZXJXaXRoRm9ybTogYW55ID0gYXN5bmMgKEVsZW1lbnQsIHByb3BzOiBSZW5kZXJGb3JtUHJvcHMgPSB7fSkgPT4ge1xuICBjb25zdCB7XG4gICAgbW9ja3MsXG4gICAgb25TdWJtaXQgPSAoKSA9PiB7fSxcbiAgICAuLi5yZXN0UHJvcHNcbiAgfSA9IHByb3BzO1xuXG4gIGplc3QudXNlRmFrZVRpbWVycygpO1xuXG4gIGNvbnN0IHdyYXBwZXIgPSByZW5kZXIoXG4gICAgPEZsdXhQcm92aWRlciBmbHV4PXtGbHV4fT5cbiAgICAgIDxNZW1vcnlSb3V0ZXIgaW5pdGlhbEVudHJpZXM9e1snLyddfSBpbml0aWFsSW5kZXg9ezB9PlxuICAgICAgICA8Rm9ybSBvblN1Ym1pdD17b25TdWJtaXR9PlxuICAgICAgICAgIDxFbGVtZW50IHsuLi5yZXN0UHJvcHN9IC8+XG4gICAgICAgIDwvRm9ybT5cbiAgICAgIDwvTWVtb3J5Um91dGVyPlxuICAgIDwvRmx1eFByb3ZpZGVyPlxuICApO1xuXG4gIGF3YWl0IHdhaXRGb3IoKCkgPT4ge1xuICAgIGplc3QucnVuQWxsSW1tZWRpYXRlcygpO1xuICB9KTtcblxuICByZXR1cm4gd3JhcHBlcjtcbn07XG4iXSwKICAibWFwcGluZ3MiOiAiQUFJQSxTQUFRLFlBQVc7QUFDbkIsU0FBUSxvQkFBbUI7QUFDM0IsU0FBUSxRQUFRLFFBQVEsZUFBYztBQUN0QyxTQUFRLFlBQVc7QUFDbkIsU0FBUSxvQkFBbUI7QUFpQm5CO0FBYkQsTUFBTSxpQkFBaUIsQ0FBQyxNQUFjLFFBQWdCLE1BQU0sT0FBTyxpQkFBaUIsSUFBSSxFQUFFLEtBQUs7QUFFL0YsTUFBTSxxQkFBMEIsT0FBTyxTQUFTLFFBQVEsQ0FBQyxNQUFNO0FBQ3BFLFFBQU07QUFBQSxJQUNKLFlBQVk7QUFBQSxJQUNaLEdBQUc7QUFBQSxFQUNMLElBQTZCO0FBQzdCLE9BQUssS0FBSztBQUNWLE9BQUssY0FBYztBQUVuQixRQUFNLFVBQVU7QUFBQSxJQUNkLG9CQUFDLGdCQUFhLE1BQU0sTUFDbEIsOEJBQUMsZ0JBQWEsZ0JBQWdCLENBQUMsU0FBbUIsR0FBRyxjQUFjLEdBQ2pFLDhCQUFDLFdBQVMsR0FBRyxXQUFXLEdBQzFCLEdBQ0Y7QUFBQSxFQUNGO0FBRUEsUUFBTSxRQUFRLE1BQU07QUFDbEIsU0FBSyxpQkFBaUI7QUFBQSxFQUN4QixDQUFDO0FBRUQsU0FBTztBQUNUO0FBUU8sTUFBTSxpQkFBc0IsT0FBTyxTQUFTLFFBQXlCLENBQUMsTUFBTTtBQUNqRixRQUFNO0FBQUEsSUFDSjtBQUFBLElBQ0EsV0FBVyxNQUFNO0FBQUEsSUFBQztBQUFBLElBQ2xCLEdBQUc7QUFBQSxFQUNMLElBQUk7QUFFSixPQUFLLGNBQWM7QUFFbkIsUUFBTSxVQUFVO0FBQUEsSUFDZCxvQkFBQyxnQkFBYSxNQUFNLE1BQ2xCLDhCQUFDLGdCQUFhLGdCQUFnQixDQUFDLEdBQUcsR0FBRyxjQUFjLEdBQ2pELDhCQUFDLFFBQUssVUFDSiw4QkFBQyxXQUFTLEdBQUcsV0FBVyxHQUMxQixHQUNGLEdBQ0Y7QUFBQSxFQUNGO0FBRUEsUUFBTSxRQUFRLE1BQU07QUFDbEIsU0FBSyxpQkFBaUI7QUFBQSxFQUN4QixDQUFDO0FBRUQsU0FBTztBQUNUOyIsCiAgIm5hbWVzIjogW10KfQo=