toolbar-header.test.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. import { expect } from 'chai'
  2. import React from 'react'
  3. import { render, screen } from '@testing-library/react'
  4. import ToolbarHeader from '../../../../../frontend/js/features/editor-navigation-toolbar/components/toolbar-header'
  5. describe('<ToolbarHeader />', function () {
  6. const defaultProps = {
  7. onShowLeftMenuClick: () => {},
  8. toggleChatOpen: () => {},
  9. toggleReviewPanelOpen: () => {},
  10. toggleHistoryOpen: () => {},
  11. unreadMessageCount: 0,
  12. onlineUsers: [],
  13. goToUser: () => {},
  14. projectName: 'test project',
  15. renameProject: () => {},
  16. openShareModal: () => {},
  17. togglePdfView: () => {},
  18. }
  19. describe('cobranding logo', function () {
  20. it('is not displayed by default', function () {
  21. render(<ToolbarHeader {...defaultProps} />)
  22. expect(screen.queryByRole('link', { name: 'variation' })).to.not.exist
  23. })
  24. it('is displayed when cobranding data is available', function () {
  25. const props = {
  26. ...defaultProps,
  27. cobranding: {
  28. brandVariationHomeUrl: 'http://cobranding',
  29. brandVariationName: 'variation',
  30. logoImgUrl: 'http://cobranding/logo',
  31. },
  32. }
  33. render(<ToolbarHeader {...props} />)
  34. screen.getByRole('link', { name: 'variation' })
  35. })
  36. })
  37. describe('pdf toggle button', function () {
  38. it('is not displayed by default', function () {
  39. render(<ToolbarHeader {...defaultProps} />)
  40. expect(screen.queryByText('PDF')).to.not.exist
  41. })
  42. it('is displayed when "pdfButtonIsVisible" prop is set to true', function () {
  43. const props = {
  44. ...defaultProps,
  45. pdfButtonIsVisible: true,
  46. }
  47. render(<ToolbarHeader {...props} />)
  48. screen.getByText('PDF')
  49. })
  50. })
  51. describe('track changes toggle button', function () {
  52. it('is displayed by default', function () {
  53. render(<ToolbarHeader {...defaultProps} />)
  54. screen.getByText('Review')
  55. })
  56. it('is not displayed when "isRestrictedTokenMember" prop is set to true', function () {
  57. const props = {
  58. ...defaultProps,
  59. isRestrictedTokenMember: true,
  60. }
  61. render(<ToolbarHeader {...props} />)
  62. expect(screen.queryByText('Review')).to.not.exist
  63. })
  64. })
  65. describe('History toggle button', function () {
  66. it('is displayed by default', function () {
  67. render(<ToolbarHeader {...defaultProps} />)
  68. screen.getByText('History')
  69. })
  70. it('is not displayed when "isRestrictedTokenMember" prop is set to true', function () {
  71. const props = {
  72. ...defaultProps,
  73. isRestrictedTokenMember: true,
  74. }
  75. render(<ToolbarHeader {...props} />)
  76. expect(screen.queryByText('History')).to.not.exist
  77. })
  78. })
  79. describe('Chat toggle button', function () {
  80. it('is displayed by default', function () {
  81. render(<ToolbarHeader {...defaultProps} />)
  82. screen.getByText('Chat')
  83. })
  84. it('is not displayed when "isRestrictedTokenMember" prop is set to true', function () {
  85. const props = {
  86. ...defaultProps,
  87. isRestrictedTokenMember: true,
  88. }
  89. render(<ToolbarHeader {...props} />)
  90. expect(screen.queryByText('Chat')).to.not.exist
  91. })
  92. })
  93. })