settings-keybindings.test.tsx 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. import { screen, within } from '@testing-library/dom'
  2. import { expect } from 'chai'
  3. import fetchMock from 'fetch-mock'
  4. import SettingsKeybindings from '../../../../../../frontend/js/features/editor-left-menu/components/settings/settings-keybindings'
  5. import { render } from '@testing-library/react'
  6. import { EditorProviders } from '../../../../helpers/editor-providers'
  7. import { EditorLeftMenuProvider } from '@/features/editor-left-menu/components/editor-left-menu-context'
  8. describe('<SettingsKeybindings />', function () {
  9. afterEach(function () {
  10. fetchMock.reset()
  11. })
  12. it('shows correct menu', async function () {
  13. render(
  14. <EditorProviders>
  15. <EditorLeftMenuProvider>
  16. <SettingsKeybindings />
  17. </EditorLeftMenuProvider>
  18. </EditorProviders>
  19. )
  20. const select = screen.getByLabelText('Keybindings')
  21. const optionNone = within(select).getByText('None')
  22. expect(optionNone.getAttribute('value')).to.equal('default')
  23. const optionVim = within(select).getByText('Vim')
  24. expect(optionVim.getAttribute('value')).to.equal('vim')
  25. const optionEmacs = within(select).getByText('Emacs')
  26. expect(optionEmacs.getAttribute('value')).to.equal('emacs')
  27. })
  28. })