beforeAll(() => { // ErrorBanner module sets window.NotifyModules.ErrorBanner for backward compatibility require('../../app/assets/javascripts/errorBanner.js'); }); afterAll(() => { require('./support/teardown.js'); }); describe("Error Banner", () => { afterEach(() => { document.body.innerHTML = ''; }); describe("The `hideBanner` method", () => { test("Will hide the element", () => { document.body.innerHTML = ` `; window.NotifyModules.ErrorBanner.hideBanner(); expect(document.querySelector('.banner-dangerous').classList).toContain('display-none') }); }); describe("The `showBanner` method", () => { beforeEach(() => { document.body.innerHTML = ` `; window.NotifyModules.ErrorBanner.showBanner('Some Err'); }); test("Will show the element", () => { expect(document.querySelector('.banner-dangerous').classList).not.toContain('display-none') }); }); test("Module exports ErrorBanner to window.NotifyModules", () => { expect(window.NotifyModules.ErrorBanner).toBeDefined(); expect(window.NotifyModules.ErrorBanner.hideBanner).toBeDefined(); expect(window.NotifyModules.ErrorBanner.showBanner).toBeDefined(); }); });