gadjo/tests/js/test-utils.js

32 lines
725 B
JavaScript

const path = require('path')
const { JSDOM } = require('jsdom')
async function loadDom (content) {
const dom = new JSDOM(`
<!DOCTYPE html>
<html >
<body>
${content}
</body>
<script src="file://${require.resolve('jquery')}"></script>
<script src="file://${path.join(__dirname, '../../gadjo/static/js/gadjo.js')}"></script>
<script>
jQuery(() => document.dispatchEvent(new Event("test:ready")))
</script>
</html>`, {
runScripts: 'dangerously',
resources: 'usable'
})
await new Promise((resolve, reject) => {
dom.window.document.addEventListener('test:ready', () => {
resolve()
})
})
return dom
};
module.exports = { loadDom }