Cypress-like Testing for React + JSDOM
npm install --save-dev @helpscout/cyan
import React from 'react'
import { cy } from '@helpscout/cyan'
import Modal from '../Modal'
cy.useFakeTimers()
test('Can open/close a Modal', () => {
cy.render(
<Modal trigger={<button>Open</button>}>
<div className="content">Content</div>
</Modal>,
)
cy.get('button').click()
expect(cy.get('.Modal').hasClass('is-open')).toBeTruthy()
expect(cy.get('.content').exists()).toBeTruthy()
cy.getByCy('CloseButton').click()
expect(cy.get('.Modal').hasClass('is-open')).toBeFalsy()
expect(cy.get('.content').exists()).toBeFalsy()
})
For additional information, check out our documentation!