next.js/test/e2e/app-dir/middleware-rewrite-catchall-priority-with-parallel-route/middleware-rewrite-catchall-priority-with-parallel-route.test.ts
middleware-rewrite-catchall-priority-with-parallel-route.test.ts44 lines1.7 KB
import { nextTestSetup } from 'e2e-utils'

describe('app-dir - middleware rewrite with catch-all and parallel routes', () => {
  const { next } = nextTestSetup({
    files: __dirname,
  })

  describe('payment route', () => {
    it('should rewrite to the specific page instead of the catch-all with parallel route', async () => {
      const browser = await next.browser('/payment/test')
      const text = await browser.elementByCss('#specific-page').text()

      expect(text).toBe('payment whoops')
      expect(await browser.url()).toBe(next.url + '/payment/test')
    })

    it('should redirect to the specific page instead of the catch-all with parallel route', async () => {
      const browser = await next.browser('/payment/test?redirect=true')
      const text = await browser.elementByCss('#specific-page').text()

      expect(text).toBe('payment whoops')
      expect(await browser.url()).toBe(next.url + '/payment/whoops')
    })
  })

  describe('anotherRoute', () => {
    it('should rewrite to the specific page instead of the catch-all without parallel route', async () => {
      const browser = await next.browser('/anotherRoute/test')
      const text = await browser.elementByCss('#specific-page').text()

      expect(text).toBe('anotherRoute whoops')
      expect(await browser.url()).toBe(next.url + '/anotherRoute/test')
    })

    it('should redirect to the specific page instead of the catch-all without parallel route', async () => {
      const browser = await next.browser('/anotherRoute/test?redirect=true')
      const text = await browser.elementByCss('#specific-page').text()

      expect(text).toBe('anotherRoute whoops')
      expect(await browser.url()).toBe(next.url + '/anotherRoute/whoops')
    })
  })
})
Quest for Codev2.0.0
/
SIGN IN