next.js/test/e2e/app-dir/asset-prefix-absolute/asset-prefix-absolute.test.ts
asset-prefix-absolute.test.ts40 lines1.1 KB
import { nextTestSetup } from 'e2e-utils'

describe('app-dir absolute assetPrefix', () => {
  const { next } = nextTestSetup({
    files: __dirname,
    nextConfig: {
      assetPrefix: 'https://example.vercel.sh/custom-asset-prefix',
    },
  })

  it('bundles should return 200 on served assetPrefix', async () => {
    const $ = await next.render$('/')

    let bundles = []
    for (const script of $('script').toArray()) {
      const { src } = script.attribs
      if (
        src?.startsWith(
          'https://example.vercel.sh/custom-asset-prefix/_next/static'
        ) ||
        src?.startsWith(
          'https://example.vercel.sh/custom-asset-prefix/_next/static/immutable'
        )
      ) {
        bundles.push(src)
      }
    }

    expect(bundles.length).toBeGreaterThan(0)

    for (const src of bundles) {
      // Remove hostname to check if pathname is still used for serving the bundles
      const bundlePathWithoutHost = decodeURI(new URL(src).href)
      const { status } = await next.fetch(bundlePathWithoutHost)

      expect(status).toBe(200)
    }
  })
})
Quest for Codev2.0.0
/
SIGN IN