diff --git a/addon-test-support/@ember/test-helpers/dom/fire-event.js b/addon-test-support/@ember/test-helpers/dom/fire-event.js index dab885712..758dd632a 100644 --- a/addon-test-support/@ember/test-helpers/dom/fire-event.js +++ b/addon-test-support/@ember/test-helpers/dom/fire-event.js @@ -93,7 +93,7 @@ function buildBasicEvent(type, options = {}) { // eslint-disable-next-line require-jsdoc function buildMouseEvent(type, options = {}) { let event; - let eventOpts = assign({}, DEFAULT_EVENT_OPTIONS, options); + let eventOpts = assign({ view: window }, DEFAULT_EVENT_OPTIONS, options); if (MOUSE_EVENT_CONSTRUCTOR) { event = new MouseEvent(type, eventOpts); } else { diff --git a/tests/unit/dom/click-test.js b/tests/unit/dom/click-test.js index af6806ee6..5fdf0f6b6 100644 --- a/tests/unit/dom/click-test.js +++ b/tests/unit/dom/click-test.js @@ -103,6 +103,19 @@ module('DOM Helper: click', function(hooks) { assert.verifySteps(['mousedown 13 17 2', 'mouseup 13 17 2', 'click 13 17 2']); }); + + test('clicking a div has window set as view by default', async function(assert) { + element = buildInstrumentedElement('div', ['view']); + + await setupContext(context); + await click(element); + + assert.verifySteps([ + 'mousedown [object Window]', + 'mouseup [object Window]', + 'click [object Window]', + ]); + }); }); module('focusable element types', function() {