diff --git a/src/all.test.js b/src/all.test.js index 4a458c4cb9..0bade8ee51 100644 --- a/src/all.test.js +++ b/src/all.test.js @@ -1,8 +1,12 @@ +/** + * @jest-environment ./lib/puppeteer/environment.js + */ /* eslint-env jest */ const util = require('util') const configPaths = require('../config/paths.json') +const PORT = configPaths.ports.test const sass = require('node-sass') const sassRender = util.promisify(sass.render) @@ -11,7 +15,31 @@ const sassConfig = { includePaths: [ configPaths.src ] } +let browser +let page +let baseUrl = 'http://localhost:' + PORT + +beforeAll(async (done) => { + browser = global.__BROWSER__ + page = await browser.newPage() + done() +}) + +afterAll(async (done) => { + await page.close() + done() +}) + describe('GOV.UK Frontend', () => { + describe('javascript', async() => { + it('can be accessed via `GOVUKFrontend`', async () => { + await page.goto(baseUrl + '/', { waitUntil: 'load' }) + + const GOVUKFrontendGlobal = await page.evaluate(() => window.GOVUKFrontend) + + expect(typeof GOVUKFrontendGlobal).toBe('object') + }) + }) describe('global styles', async() => { it('are disabled by default', async () => { const sass = ` diff --git a/tasks/gulp/compile-assets.js b/tasks/gulp/compile-assets.js index 74b2895f43..077ee4c491 100644 --- a/tasks/gulp/compile-assets.js +++ b/tasks/gulp/compile-assets.js @@ -104,6 +104,8 @@ gulp.task('js:compile', () => { srcFiles ]) .pipe(rollup({ + // Used to set the `window` global and UMD/AMD export name. + name: 'GOVUKFrontend', // Legacy mode is required for IE8 support legacy: true, // UMD allows the published bundle to work in CommonJS and in the browser.