From f95dd5fad256bd81aece761ae6093acc0326d739 Mon Sep 17 00:00:00 2001 From: Clark Du Date: Sun, 20 Oct 2019 19:34:31 +0100 Subject: [PATCH] test: ssr log --- test/unit/basic.dev.test.js | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/test/unit/basic.dev.test.js b/test/unit/basic.dev.test.js index 499f9a0a20c6..30538751a146 100644 --- a/test/unit/basic.dev.test.js +++ b/test/unit/basic.dev.test.js @@ -1,4 +1,5 @@ import path from 'path' +import jsdom from 'jsdom' import consola from 'consola' import { Builder, BundleBuilder, getPort, loadFixture, Nuxt, rp, waitFor } from '../utils' @@ -51,6 +52,14 @@ describe('basic dev', () => { postcssLoader = cssLoaders[cssLoaders.length - 1] } } + }, + hooks: { + 'vue-renderer:ssr:context': ({ nuxt }) => { + nuxt.logs = [{ type: 'log', args: ['This is a test ssr log'] }] + } + }, + render: { + ssrLog: 'collapsed' } }) @@ -169,6 +178,27 @@ describe('basic dev', () => { }) }) + test('/ should display ssr log in collapsed group', async () => { + const virtualConsole = new jsdom.VirtualConsole() + const groupCollapsed = jest.fn() + const groupEnd = jest.fn() + const log = jest.fn() + virtualConsole.on('groupCollapsed', groupCollapsed) + virtualConsole.on('groupEnd', groupEnd) + virtualConsole.on('log', log) + + await nuxt.server.renderAndGetWindow(url('/'), { + virtualConsole + }) + + expect(groupCollapsed).toHaveBeenCalledWith( + '%cNuxt SSR', + 'background: #2E495E;border-radius: 0.5em;color: white;font-weight: bold;padding: 2px 0.5em;' + ) + expect(groupEnd).toHaveBeenCalled() + expect(log).toHaveBeenCalledWith('This is a test ssr log') + }) + // Close server and ask nuxt to stop listening to file changes afterAll(async () => { await nuxt.close()