ember-modal-dialog
ember-modal-dialog copied to clipboard
4.1.3 - need to wait until modal overlay is opened (in test)
This is more an advisory to others in case it affects them.
I was confused why one of my tests was failing under 4.1.3 (it had no release notes to guide).
I have a test like this
test('it closes on click outside', async function (assert) {
this.showModal = true
this.close = sinon.stub().callsFake(() => set(this, 'showModal', false))
await render(hbs`
<LayoutBlocks::Modal
data-test-my-modal
@title="My Modal"
@showModal={{this.showModal}}
@close={{this.close}}
>
content here
</LayoutBlocks::Modal>
`)
assert.dom('[data-test-my-modal]').exists()
// simulate a click that occurs outside of the modal
await click('.ember-modal-overlay')
assert.calledOnce(this.close)
assert.dom('[data-test-my-modal]').doesNotExist()
})
It took me a while to figure out, but I needed to add this line before the click
await waitFor('.ember-modal-overlay', { count: 1 })
(import waitFor
from '@ember/test-helpers')
Nothing to fix here, feel free to close when desired. I just figured this would help others in lieu of the release notes.