scenario.ts 689 B

123456789101112131415161718192021222324252627282930
  1. import { Browser, Page } from 'puppeteer-core';
  2. import { launchBrowser } from './launcher';
  3. import { ensureLoggedIn } from './login';
  4. export const e2eScenario = (
  5. title: string,
  6. testDescription: string,
  7. callback: (browser: Browser, page: Page) => void
  8. ) => {
  9. describe(title, () => {
  10. let browser: Browser = null;
  11. let page: Page = null;
  12. beforeAll(async () => {
  13. browser = await launchBrowser();
  14. page = await browser.newPage();
  15. await ensureLoggedIn(page);
  16. });
  17. afterAll(async () => {
  18. if (browser) {
  19. await browser.close();
  20. }
  21. });
  22. it(testDescription, async () => {
  23. await callback(browser, page);
  24. });
  25. });
  26. };