Тестирование навигации по клавиатуре с помощью клавиш со стрелками для группы переключателей

#reactjs #react-testing-library

Вопрос:

Я использую testing-library для тестирования реализации группы переключателей. Я могу проверить, что tab устанавливает фокус на первую опцию радио, но я не могу правильно проверить навигацию по клавишам со стрелками.

Вот тест, который у меня есть:

 import {
  getByLabelText,
  render,
} from '@testing-library/react';
import userEvent from '@testing-library/user-event';
...

test('arrow key navigation', () => {
  const {container} = render(
    <div>
      <label htmlFor="apple">
        Apple
        <input type="radio" value="apple" id="apple" name="fruit"/>
      </label>
      <label htmlFor="banana">
        Banana
        <input type="radio" value="banana" id="banana" name="fruit"/>
      </label>
    </div>
  )

  const apple = getByLabelText(container, 'Apple')
  const banana = getByLabelText(container, 'Banana')

  userEvent.tab()
  expect(apple).toHaveFocus() // This assertion passes
  userEvent.keyboard('{arrowright}')
  expect(banana).toHaveFocus() // This assertion fails
})