Home / File/ e2eUtils.ts — vue Source File

e2eUtils.ts — vue Source File

Architecture documentation for e2eUtils.ts, a typescript file in the vue codebase. 2 imports, 8 dependents.

File typescript VueCore Observer 2 imports 8 dependents 4 functions

Entity Profile

Dependency Diagram

graph LR
  89e1d5c3_816b_464a_8e3e_7496dffe6752["e2eUtils.ts"]
  7c454890_6339_b799_a183_9dcaf8992812["path"]
  89e1d5c3_816b_464a_8e3e_7496dffe6752 --> 7c454890_6339_b799_a183_9dcaf8992812
  a59aa1a1_4180_1858_de6f_dc6b176d3ff7["puppeteer"]
  89e1d5c3_816b_464a_8e3e_7496dffe6752 --> a59aa1a1_4180_1858_de6f_dc6b176d3ff7
  7bbe06b9_e684_102b_1193_7fbfdb7c9170["async-edge-cases.spec.ts"]
  7bbe06b9_e684_102b_1193_7fbfdb7c9170 --> 89e1d5c3_816b_464a_8e3e_7496dffe6752
  383c0b74_c2f2_d942_e5db_bb1bbff1476a["basic-ssr.spec.ts"]
  383c0b74_c2f2_d942_e5db_bb1bbff1476a --> 89e1d5c3_816b_464a_8e3e_7496dffe6752
  e561ba0f_2a52_096c_f7e8_21c7c7d94919["commits.spec.ts"]
  e561ba0f_2a52_096c_f7e8_21c7c7d94919 --> 89e1d5c3_816b_464a_8e3e_7496dffe6752
  6c4de777_8ea4_083a_da2f_44aca3decfe3["grid.spec.ts"]
  6c4de777_8ea4_083a_da2f_44aca3decfe3 --> 89e1d5c3_816b_464a_8e3e_7496dffe6752
  35ebce4c_45a3_51e2_d0b0_08467e0f6440["markdown.spec.ts"]
  35ebce4c_45a3_51e2_d0b0_08467e0f6440 --> 89e1d5c3_816b_464a_8e3e_7496dffe6752
  62707277_f50d_552d_eb4c_fe15c1d2e201["svg.spec.ts"]
  62707277_f50d_552d_eb4c_fe15c1d2e201 --> 89e1d5c3_816b_464a_8e3e_7496dffe6752
  569a2571_090b_ad2c_8933_9f2f34b1f6c7["todomvc.spec.ts"]
  569a2571_090b_ad2c_8933_9f2f34b1f6c7 --> 89e1d5c3_816b_464a_8e3e_7496dffe6752
  50fab577_d7fb_4b56_732d_67fbff58bf10["tree.spec.ts"]
  50fab577_d7fb_4b56_732d_67fbff58bf10 --> 89e1d5c3_816b_464a_8e3e_7496dffe6752
  style 89e1d5c3_816b_464a_8e3e_7496dffe6752 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import path from 'path'
import puppeteer from 'puppeteer'

export function getExampleUrl(
  name: string,
  apiType: 'classic' | 'composition'
) {
  const file = apiType === 'composition' ? `${name}.html` : `${name}/index.html`
  return `file://${path.resolve(
    __dirname,
    `../../examples/${apiType}/${file}`
  )}`
}

export const E2E_TIMEOUT = 30 * 1000

const puppeteerOptions = process.env.CI
  ? { args: ['--no-sandbox', '--disable-setuid-sandbox'] }
  : { headless: !process.env.DEBUG }

const maxTries = 30
export const timeout = (n: number) => new Promise(r => setTimeout(r, n))

export async function expectByPolling(
  poll: () => Promise<any>,
  expected: string
) {
  for (let tries = 0; tries < maxTries; tries++) {
    const actual = (await poll()) || ''
    if (actual.indexOf(expected) > -1 || tries === maxTries - 1) {
      expect(actual).toMatch(expected)
      break
    } else {
      await timeout(50)
    }
  }
}

export function setupPuppeteer() {
  let browser: puppeteer.Browser
  let page: puppeteer.Page

  beforeAll(async () => {
    browser = await puppeteer.launch(puppeteerOptions)
  })

  beforeEach(async () => {
    page = await browser.newPage()

    await page.evaluateOnNewDocument(() => {
      localStorage.clear()
    })

    page.on('console', e => {
      if (e.type() === 'error') {
        const err = e.args()[0]
        console.error(
          `Error from Puppeteer-loaded page:\n`,
          err._remoteObject.description
        )
// ... (128 more lines)

Domain

Subdomains

Dependencies

  • path
  • puppeteer

Frequently Asked Questions

What does e2eUtils.ts do?
e2eUtils.ts is a source file in the vue codebase, written in typescript. It belongs to the VueCore domain, Observer subdomain.
What functions are defined in e2eUtils.ts?
e2eUtils.ts defines 4 function(s): expectByPolling, getExampleUrl, setupPuppeteer, timeout.
What does e2eUtils.ts depend on?
e2eUtils.ts imports 2 module(s): path, puppeteer.
What files import e2eUtils.ts?
e2eUtils.ts is imported by 8 file(s): async-edge-cases.spec.ts, basic-ssr.spec.ts, commits.spec.ts, grid.spec.ts, markdown.spec.ts, svg.spec.ts, todomvc.spec.ts, tree.spec.ts.
Where is e2eUtils.ts in the architecture?
e2eUtils.ts is located at test/e2e/e2eUtils.ts (domain: VueCore, subdomain: Observer, directory: test/e2e).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free