const helpers = require('./support/helpers.js'); beforeAll(() => { require('../../app/assets/javascripts/enhancedTextbox.js'); }); afterAll(() => { require('./support/teardown.js'); }); describe('Enhanced textbox', () => { let input; let textarea; let backgroundEl; const stylesheet = document.createElement('style'); beforeAll(() => { // set some default styling stylesheet.innerHTML = ".textbox-highlight-textbox { padding: 2px; width: 576px; border-width: 1px; }"; stylesheet.innerHTML += "textarea.textbox-highlight-textbox { height: 224px; }"; document.getElementsByTagName('head')[0].appendChild(stylesheet); }); afterAll(() => { stylesheet.parentNode.removeChild(stylesheet); }); beforeEach(() => { // set up DOM document.body.innerHTML = `
`; input = document.querySelector('input'); textarea = document.querySelector('textarea'); }); afterEach(() => { document.body.innerHTML = ''; }); describe("When the page loads", () => { describe("An element should be added as a layer below the textbox to hold the highlights", () => { beforeEach(() => { // start module window.GOVUK.modules.start(); }); test("If the textbox is a