diff --git a/lib/__tests__/exists.ts b/lib/__tests__/exists.ts index 448017c1f..6e071f614 100644 --- a/lib/__tests__/exists.ts +++ b/lib/__tests__/exists.ts @@ -57,6 +57,21 @@ describe('assert.dom(...).exists()', () => { }, ]); }); + + test('fails if element is missing', () => { + document.body.innerHTML = '

foo

bar'; + + assert.dom(null).isVisible(); + + expect(assert.results).toEqual([ + { + actual: 'Element is not visible', + expected: 'Element is visible', + message: 'Element is visible', + result: false, + }, + ]); + }); }); describe('custom messages', () => { diff --git a/lib/__tests__/is-visible.ts b/lib/__tests__/is-visible.ts index 1b8240de2..8898b59bf 100644 --- a/lib/__tests__/is-visible.ts +++ b/lib/__tests__/is-visible.ts @@ -32,6 +32,21 @@ describe('assert.dom(...).isVisible()', () => { }, ]); }); + + test('fails if element is missing', () => { + document.body.innerHTML = '

foo

bar'; + + assert.dom('h2').isVisible(); + + expect(assert.results).toEqual([ + { + actual: 'Element h2 is not visible', + expected: 'Element h2 is visible', + message: 'Element h2 is visible', + result: false, + }, + ]); + }); }); describe('custom messages', () => { @@ -55,9 +70,7 @@ describe('assert.dom(...).isVisible()', () => { test('fails for missing element', () => { document.body.innerHTML = '

foo

bar'; - const headingElement = document.querySelector('h2'); - console.log(headingElement); - assert.dom(headingElement).isVisible(); + assert.dom(null).isVisible(); expect(assert.results).toEqual([ { diff --git a/tests/acceptance/qunit-dom-test.js b/tests/acceptance/qunit-dom-test.js index fda987487..582dbf39d 100644 --- a/tests/acceptance/qunit-dom-test.js +++ b/tests/acceptance/qunit-dom-test.js @@ -34,9 +34,6 @@ module('Acceptance | qunit-dom', function(hooks) { assert.dom('#hidden-input').isNotVisible(); assert.dom('p').isVisible({ count: 2 }); - let titleElement = document.querySelector('#title'); - assert.dom(titleElement).isVisible(); - /* * JSDom does not implement pseudo elements and this can only be tested in a real browser. * See this: https://github.com/jsdom/jsdom/issues/1928