dictionary-setting.test.tsx 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import { fireEvent, screen, within, render } from '@testing-library/react'
  2. import { expect } from 'chai'
  3. import { SettingsModalProvider } from '@/features/ide-redesign/contexts/settings-modal-context'
  4. import { EditorProviders } from '../../../helpers/editor-providers'
  5. import DictionarySetting from '@/features/settings/components/editor-settings/dictionary-setting'
  6. import RailModals from '@/features/ide-react/components/rail/rail-modals'
  7. describe('<DictionarySetting />', function () {
  8. it('open dictionary modal', function () {
  9. render(
  10. <EditorProviders>
  11. <SettingsModalProvider>
  12. <DictionarySetting />
  13. <RailModals />
  14. </SettingsModalProvider>
  15. </EditorProviders>
  16. )
  17. screen.getByText('Dictionary')
  18. const button = screen.getByText('Edit')
  19. fireEvent.click(button)
  20. const modal = screen.getByTestId('dictionary-modal')
  21. within(modal).getByRole('heading', { name: 'Edit Dictionary' })
  22. within(modal).getByText('Your custom dictionary is empty.')
  23. const closeButton = within(modal).getByRole('button', {
  24. name: 'Close dialog',
  25. })
  26. fireEvent.click(closeButton)
  27. expect(screen.getByTestId('dictionary-modal')).to.not.be.null
  28. })
  29. })