rsnext/test/e2e/app-dir/trailingslash/trailingslash.test.ts
Wyatt Johnson ed59ad525a
Change NextInstance.fetch Signature (#44575)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2023-01-05 16:31:03 +01:00

37 lines
1.1 KiB
TypeScript

import { createNextDescribe } from 'e2e-utils'
createNextDescribe(
'app-dir trailingSlash handling',
{
files: __dirname,
skipDeployment: true,
},
({ next }) => {
it('should redirect route when requesting it directly', async () => {
const res = await next.fetch('/a', {
redirect: 'manual',
})
expect(res.status).toBe(308)
expect(res.headers.get('location')).toBe(next.url + '/a/')
})
it('should render link with trailing slash', async () => {
const $ = await next.render$('/')
expect($('#to-a-trailing-slash').attr('href')).toBe('/a/')
})
it('should redirect route when requesting it directly by browser', async () => {
const browser = await next.browser('/a')
expect(await browser.waitForElementByCss('#a-page').text()).toBe('A page')
})
it('should redirect route when clicking link', async () => {
const browser = await next.browser('/')
await browser
.elementByCss('#to-a-trailing-slash')
.click()
.waitForElementByCss('#a-page')
expect(await browser.waitForElementByCss('#a-page').text()).toBe('A page')
})
}
)