import domClickFirstAnchor from 'consul-ui/utils/dom/click-first-anchor'; import { module, test } from 'qunit'; module('Unit | Utility | dom/click first anchor'); test('it does nothing if the clicked element is generally a clickable thing', function(assert) { const closest = function() { return { querySelector: function() { assert.ok(false); }, }; }; const click = domClickFirstAnchor(closest); ['INPUT', 'LABEL', 'A', 'Button'].forEach(function(item) { const expected = null; const actual = click({ target: { nodeName: item, }, }); assert.equal(actual, expected); }); }); test("it does nothing if an anchor isn't found", function(assert) { const closest = function() { return { querySelector: function() { return null; }, }; }; const click = domClickFirstAnchor(closest); const expected = null; const actual = click({ target: { nodeName: 'DIV', }, }); assert.equal(actual, expected); }); test('it dispatches the result of `click` if an anchor is found', function(assert) { assert.expect(1); const expected = 'click'; const closest = function() { return { querySelector: function() { return { dispatchEvent: function(ev) { const actual = ev.type; assert.equal(actual, expected); }, }; }, }; }; const click = domClickFirstAnchor(closest); click({ target: { nodeName: 'DIV', }, }); });