0.0.0 • Published 5 years ago
accessible-query v0.0.0
accessible-query
The one query to rule them all.
Motivation
Most UI is pretty static.
Queries such as getBy* are more than enough to make assertions.
However, when you put it all together, a UI will be asynchronous.
This library helps simplify test coverage in finding specific accessible UI with specific state.
For example, imagine a user action disables an input element. The test coverage would look something like:
// Without
const node = await waitFor(() => {
const node = screen.findByLabelText('Some input');
if (node.getAttribute('disabled') !== '') {
throw new Error('Unable to find disabled input.')
}
return node;
});
expect(node).toBeDisabled();
// With
expect(await query('Some input', { disabled: '' })).toBeDisabled();How to use
- Install
accessible-query - Import into test file
awaitthe result- ???
- Profit!
Missing functionality
- Better error messaging -- provide context based on DOM / element state
- Better
aria-*attribute support - Better boolean attribute support (e.g.
{ disabled: true }matches on{ disabled: '' })
0.0.0
5 years ago