1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00
next.js/test/integration.test.js

47 lines
1.4 KiB
JavaScript
Raw Normal View History

2016-10-10 04:25:08 +00:00
import test from 'ava'
2016-10-19 12:58:08 +00:00
import { join } from 'path'
2016-10-10 04:25:08 +00:00
import build from '../server/build'
import { render as _render } from '../server/render'
2016-10-19 12:58:08 +00:00
const dir = join(__dirname, 'fixtures', 'basic')
2016-10-10 04:25:08 +00:00
test.before(() => build(dir))
2016-11-15 08:24:20 +00:00
test('renders a stateless component', async t => {
2016-10-10 04:25:08 +00:00
const html = await render('/stateless')
2016-11-17 23:06:54 +00:00
t.true(html.includes('<meta charset="utf-8" class="next-head"/>'))
2016-10-10 04:25:08 +00:00
t.true(html.includes('<h1>My component!</h1>'))
})
2016-11-15 08:24:20 +00:00
test('renders a stateful component', async t => {
2016-10-16 04:32:58 +00:00
const html = await render('/stateful')
2016-10-12 23:15:58 +00:00
t.true(html.includes('<div><p>The answer is 42</p></div>'))
})
2016-11-15 08:24:20 +00:00
test('header helper renders header information', async t => {
2016-10-12 23:15:58 +00:00
const html = await (render('/head'))
2016-11-17 23:06:54 +00:00
t.true(html.includes('<meta charset="iso-8859-5" class="next-head"/>'))
2016-10-12 23:15:58 +00:00
t.true(html.includes('<meta content="my meta" class="next-head"/>'))
t.true(html.includes('<div><h1>I can haz meta tags</h1></div>'))
})
2016-11-15 08:24:20 +00:00
test('css helper renders styles', async t => {
const html = await render('/css')
2016-12-02 01:35:07 +00:00
t.regex(html, /\.css-\w+/)
t.regex(html, /<div class="css-\w+">This is red<\/div>/)
2016-11-15 08:24:20 +00:00
})
test('renders properties populated asynchronously', async t => {
2016-10-16 04:32:58 +00:00
const html = await render('/async-props')
t.true(html.includes('<p>Diego Milito</p>'))
})
2016-11-15 08:24:20 +00:00
test('renders a link component', async t => {
const html = await render('/link')
t.true(html.includes('<a href="/about">About</a>'))
})
2016-10-10 04:25:08 +00:00
function render (url, ctx) {
return _render(url, ctx, { dir, staticMarkup: true })
}