- Notifications
You must be signed in to change notification settings - Fork 468
Open
Labels
Description
@testing-library/dom
version: 8.10.1- Testing Framework and version: Jest 29.6.3
- DOM Environment: Brave Browser (current)
Relevant code or config:
expect(screen.getByLabelText('Access type')).toBeVisible();
What you did:
Testing to make sure a label is visible in the UI
What happened:
Multiple results were returned, including fieldset
● ClientOidcInfo › in readOnly mode › should have expected elements TestingLibraryElementError: Found multiple elements with the text of: Access type Here are the matching elements: <select aria-invalid="false" disabled="" id="access_type" name="access_type" > <option value="one">One</option> <option value="two">Two</option> </select> <div aria-label="Access type" role="textbox" > <label data-shrink="true" for="access_type" id="access_type-label" > Access type </label> <div> <select aria-invalid="false" disabled="" id="access_type" name="access_type" > <option value="one">One</option> <option value="two">Two</option> </select> <fieldset aria-hidden="true"> <legend> <span> Access type </span> </legend> </fieldset> </div> </div>
Problem description:
fieldset
is not part of the inputlabel
and shouldn't be included withgetByLabelText
Suggested solution:
Do not return fieldset
when using a query *ByLabelText