/** * @jest-environment jsdom */ import 'jest-canvas-mock'; import { createFlashMessenger } from '../../src/ts'; describe('Test createFlashMessenger', () => { beforeEach(() => { const div = document.createElement('div'); div.id = 'messages'; document.body.appendChild(div); }); afterEach(() => { document.getElementById('messages').remove(); }); it.each` type ${'success'} ${'info'} ${'warning'} ${'error'} `('should return $result when $a and $b are used', ({ type }) => { const fm = createFlashMessenger(); fm('Hello World', type); expect(document.body.innerHTML).toContain('Hello World'); }); test('No parent', () => { expect(() => { createFlashMessenger('#not-here'); }).toThrow(); }); test('Wrong type', () => { const fm = createFlashMessenger(); expect(() => { fm('Hello World', 'yada'); }).toThrow(); }); });