Description
Describe the feature you'd like:
The current queries don't really allow anything matching how a user would interact with a table.
There is limited support using the ByRole
selectors, to choose all rows, or all cells, or nesting between these, but doesn't always match the principle of "use your component as a user would".
e.g. In a table where each row has a "Delete" icon, choosing the delete icon corresponding to the particular row contents. A user would identify which row they're looking at by the value in one of the cells, then scanning across.
Suggested implementation:
I've implemented some custom queries in https://github.com/lexanth/testing-library-table-queries#readme, but some of it is a bit hacky.
Describe alternatives you've considered:
getAllByRole('row')
gets rows, but then filtering by text content is slightly awkward (either index based or filtering based on content).
Teachability, Documentation, Adoption, Migration Strategy:
This would be additional queries, so backwards-compatible.