I want to test the state data passed from server to client.
nuxt.renderRoute() does not execute serverMiddleware.
nuxtServerInit does not get request data by argument in nuxt.renderRoute().
nuxt.renderRequest() executes serverMiddleware.
nuxtServerInit can get request data by argument in nuxt.renderRequest().
const { Nuxt, Builder } = require('nuxt')
const config = require('../nuxt.test.config.js')
const expect = require('chai').expect
config.dev = false
describe('Server side state', function() {
let nuxt;
this.timeout(30000);
before(async function() {
nuxt = new Nuxt(config)
await new Builder(nuxt).build()
})
it('/', async function() {
let req = {
method: 'get'
path: '/',
header: {},
data: {}
}
let result = await nuxt.renderRequest(req)
expect(result.context.state).to.deep.equal({ user: '12345678901234567890' })
});
it('/abc', async function() {
let req = {
method: 'get'
path: '/abc',
header: {},
data: {}
}
let result = await nuxt.renderRequest('/abc')
expect(result.context.state).to.deep.equal({ user: 'abc' })
});
});<!--cmty--><!--cmty_prevent_hook--><div align="right"><sub><em>This feature request is available on <a href="https://nuxtjs.cmty.io">Nuxt.js</a> community (<a href="https://nuxtjs.cmty.io/nuxt/nuxt.js/issues/c7024">#c7024</a>)</em></sub></div>