Skip to content

Commit 705e8e2

Browse files
committed
fix: check for element in trigger
1 parent 247dd58 commit 705e8e2

File tree

3 files changed

+13
-1
lines changed

3 files changed

+13
-1
lines changed

src/wrappers/wrapper.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,10 @@ export default class Wrapper implements BaseWrapper {
327327
throwError('wrapper.trigger() must be passed a string')
328328
}
329329

330+
if (!this.element) {
331+
throwError('cannot call wrapper.trigger() on a wrapper without an element')
332+
}
333+
330334
const modifiers = {
331335
enter: 13,
332336
tab: 9,

test/unit/specs/mount/Wrapper/text.spec.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ describe('text', () => {
1010
expect(wrapper.text()).to.equal(text)
1111
})
1212

13-
it('throws error if wrapper does not contain eleemnt', () => {
13+
it('throws error if wrapper does not contain elememnt', () => {
1414
const compiled = compileToFunctions(`<div />`)
1515
const wrapper = mount(compiled)
1616
wrapper.element = null

test/unit/specs/mount/Wrapper/trigger.spec.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,14 @@ describe('trigger', () => {
7474
expect(info.calledWith(true)).to.equal(true)
7575
})
7676

77+
it('throws error if wrapper does not contain eleemnt', () => {
78+
const wrapper = mount({ render: () => {} })
79+
wrapper.element = null
80+
const fn = () => wrapper.trigger('click')
81+
const message = '[vue-test-utils]: cannot call wrapper.trigger() on a wrapper without an element'
82+
expect(fn).to.throw().with.property('message', message)
83+
})
84+
7785
it('throws an error if type is not a string', () => {
7886
const wrapper = mount(ComponentWithEvents)
7987
const invalidSelectors = [

0 commit comments

Comments
 (0)