icon.test.jsx 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import { expect } from 'chai'
  2. import { screen, render } from '@testing-library/react'
  3. import Icon from '../../../../frontend/js/shared/components/icon'
  4. describe('<Icon />', function () {
  5. it('renders basic fa classes', function () {
  6. const { container } = render(<Icon type="angle-down" />)
  7. const element = container.querySelector('i.fa.fa-angle-down')
  8. expect(element).to.exist
  9. })
  10. it('renders with aria-hidden', function () {
  11. const { container } = render(<Icon type="angle-down" />)
  12. const element = container.querySelector('i[aria-hidden="true"]')
  13. expect(element).to.exist
  14. })
  15. it('renders accessible label', function () {
  16. render(<Icon type="angle-down" accessibilityLabel="Accessible Foo" />)
  17. screen.getByText('Accessible Foo')
  18. })
  19. it('renders with spin', function () {
  20. const { container } = render(<Icon type="angle-down" spin />)
  21. const element = container.querySelector('i.fa.fa-angle-down.fa-spin')
  22. expect(element).to.exist
  23. })
  24. it('renders with fw', function () {
  25. const { container } = render(<Icon type="angle-down" fw />)
  26. const element = container.querySelector('i.fa.fa-angle-down.fa-fw')
  27. expect(element).to.exist
  28. })
  29. it('renders with modifier', function () {
  30. const { container } = render(<Icon type="angle-down" modifier="2x" />)
  31. const element = container.querySelector('i.fa.fa-angle-down.fa-2x')
  32. expect(element).to.exist
  33. })
  34. it('renders with custom clases', function () {
  35. const { container } = render(
  36. <Icon type="angle-down" className="custom-icon-class" />
  37. )
  38. const element = container.querySelector(
  39. 'i.fa.fa-angle-down.custom-icon-class'
  40. )
  41. expect(element).to.exist
  42. })
  43. })