wix-style-react
Version:
35 lines (25 loc) • 1.13 kB
text/typescript
import { BaseUniDriver } from 'wix-ui-test-utils/base-driver';
import { puppeteerUniTestkitFactoryCreator } from 'wix-ui-test-utils/puppeteer';
export const navigateToStory = async (story: string) => {
let _page;
// @ts-expect-error
const { page } = await sled.newPage();
_page = page;
// navigate to the page
await _page.goto(process.env.BASE_URL + story);
// We wait for iframe selector to appear
await _page.waitForSelector('iframe[id="storybook-preview-iframe"]');
// We grab it and go inside
const iframe = await _page.$('iframe[id="storybook-preview-iframe"]');
const iframeContent = await iframe?.contentFrame();
// We should fail the test if we could not get the frame
if(!iframeContent) {
throw new Error(`Failed to open ${story}`)
}
return iframeContent;
};
export const createTestkit = async <T extends BaseUniDriver>({ page, dataHook, driver }: { dataHook: string, driver: any, page: any }) => {
await page.waitForSelector(`[data-hook="${dataHook}"]`);
const testkit = await puppeteerUniTestkitFactoryCreator<T>(driver)({ page , dataHook })
return { testkit }
}