diff --git a/superset/assets/spec/helpers/browser.js b/superset/assets/spec/helpers/browser.js index d856686e8f6c..a74ce3ef5ccc 100644 --- a/superset/assets/spec/helpers/browser.js +++ b/superset/assets/spec/helpers/browser.js @@ -4,11 +4,11 @@ import chai from 'chai'; import jsdom from 'jsdom'; require('babel-register')(); -global.sinon = require('sinon'); const exposedProperties = ['window', 'navigator', 'document']; -global.document = jsdom.jsdom(''); +global.jsdom = jsdom.jsdom; +global.document = global.jsdom(''); global.window = document.defaultView; Object.keys(document.defaultView).forEach((property) => { if (typeof global[property] === 'undefined') { @@ -25,12 +25,16 @@ global.navigator = { // Configuration copied from https://github.com/sinonjs/sinon/issues/657 // allowing for sinon.fakeServer to work -global.jsdom = jsdom.jsdom; -global.document = global.jsdom(''); + global.window = global.document.defaultView; global.XMLHttpRequest = global.window.XMLHttpRequest; + +global.sinon = require('sinon'); + global.expect = chai.expect; global.assert = chai.assert; + global.sinon.useFakeXMLHttpRequest(); + global.window.XMLHttpRequest = global.XMLHttpRequest; global.$ = require('jquery')(global.window); diff --git a/superset/assets/spec/javascripts/components/AsyncSelect_spec.jsx b/superset/assets/spec/javascripts/components/AsyncSelect_spec.jsx index 2224b34e83ec..5b498464b0c7 100644 --- a/superset/assets/spec/javascripts/components/AsyncSelect_spec.jsx +++ b/superset/assets/spec/javascripts/components/AsyncSelect_spec.jsx @@ -60,6 +60,7 @@ describe('AsyncSelect', () => { , ); const spy = sinon.spy(wrapper.instance(), 'onChange'); + server.respond(); expect(spy.callCount).to.equal(1);