rsnext/test/e2e/test-template/{{ toFileName name }}/{{ toFileName name }}.test.ts
Jan Kaifer 015a7dd9ee
Change test template to use TS and improve template for app-dir (#44227)
Make templates actual executable tests to that we ensure there are no regressions.
It also makes the setup easier.

Also changes the layout to typescript because that's what we want to use by default anyway.

Also refactors helper function to use plop specific `{{ toFileName name }}` syntax for easier template modification.

Co-authored-by: JJ Kasper <22380829+ijjk@users.noreply.github.com>
2023-01-06 20:36:47 +00:00

34 lines
1 KiB
TypeScript

import { createNextDescribe } from 'e2e-utils'
createNextDescribe(
'{{name}}',
{
files: __dirname,
},
({ next }) => {
// Recommended for tests that check HTML. Cheerio is a HTML parser that has a jQuery like API.
it('should work using cheerio', async () => {
const $ = await next.render$('/')
expect($('p').text()).toBe('hello world')
})
// Recommended for tests that need a full browser
it('should work using browser', async () => {
const browser = await next.browser('/')
expect(await browser.elementByCss('p').text()).toBe('hello world')
})
// In case you need the full HTML. Can also use $.html() with cheerio.
it('should work with html', async () => {
const html = await next.render('/')
expect(html).toContain('hello world')
})
// In case you need to test the response object
it('should work with fetch', async () => {
const res = await next.fetch('/')
const html = await res.text()
expect(html).toContain('hello world')
})
}
)