Просмотр исходного кода

Merge pull request #19347 from overleaf/td-bs5-cypress-css

Move CSS loading in Cypress to individual test spec files

GitOrigin-RevId: 92bb5167cfa81b0bd54acc724efb23b397421ccb
Tim Down 2 лет назад
Родитель
Сommit
e60885aa88
81 измененных файлов с 91 добавлено и 6 удалено
  1. 0 1
      services/web/cypress/support/component.ts
  2. 1 1
      services/web/frontend/js/features/settings/components/emails/email.tsx
  3. 1 1
      services/web/frontend/js/features/settings/components/emails/reconfirmation-info.tsx
  4. 1 1
      services/web/frontend/js/features/ui/components/bootstrap-5/bootstrap-version-switcher.tsx
  5. 4 2
      services/web/frontend/js/features/utils/bootstrap-5.ts
  6. 1 0
      services/web/test/frontend/components/editor-left-menu/editor-left-menu.spec.tsx
  7. 1 0
      services/web/test/frontend/components/pdf-preview/detach-compile-button.spec.tsx
  8. 1 0
      services/web/test/frontend/components/pdf-preview/pdf-js-viewer.spec.tsx
  9. 1 0
      services/web/test/frontend/components/pdf-preview/pdf-logs-entries.spec.tsx
  10. 1 0
      services/web/test/frontend/components/pdf-preview/pdf-preview-detached-root.spec.tsx
  11. 1 0
      services/web/test/frontend/components/pdf-preview/pdf-preview-hybrid-toolbar.spec.tsx
  12. 1 0
      services/web/test/frontend/components/pdf-preview/pdf-preview.spec.tsx
  13. 1 0
      services/web/test/frontend/components/pdf-preview/pdf-synctex-controls.spec.tsx
  14. 1 0
      services/web/test/frontend/components/project-list/notifications/group-invitation.spec.tsx
  15. 1 0
      services/web/test/frontend/components/shared/accessible-modal.spec.tsx
  16. 1 0
      services/web/test/frontend/components/shared/beta-badge.spec.tsx
  17. 1 0
      services/web/test/frontend/components/shared/select.spec.tsx
  18. 1 0
      services/web/test/frontend/components/shared/split-menu.spec.tsx
  19. 1 0
      services/web/test/frontend/components/shared/split-test-badge.spec.tsx
  20. 1 0
      services/web/test/frontend/components/shared/start-free-trial-button.spec.tsx
  21. 1 0
      services/web/test/frontend/components/shared/tooltip.spec.tsx
  22. 1 0
      services/web/test/frontend/components/token-access/token-access-page.spec.tsx
  23. 1 0
      services/web/test/frontend/features/file-tree/components/file-tree-create/file-tree-create-name-input.spec.tsx
  24. 1 0
      services/web/test/frontend/features/file-tree/components/file-tree-create/file-tree-modal-create-file.spec.tsx
  25. 1 0
      services/web/test/frontend/features/file-tree/components/file-tree-doc.spec.tsx
  26. 1 0
      services/web/test/frontend/features/file-tree/components/file-tree-folder-list.spec.tsx
  27. 1 0
      services/web/test/frontend/features/file-tree/components/file-tree-folder.spec.tsx
  28. 1 0
      services/web/test/frontend/features/file-tree/components/file-tree-item/file-tree-item-inner.spec.tsx
  29. 1 0
      services/web/test/frontend/features/file-tree/components/file-tree-item/file-tree-item-name.spec.tsx
  30. 1 0
      services/web/test/frontend/features/file-tree/components/file-tree-root.spec.tsx
  31. 1 0
      services/web/test/frontend/features/file-tree/components/file-tree-toolbar.spec.tsx
  32. 1 0
      services/web/test/frontend/features/file-tree/flows/context-menu.spec.tsx
  33. 1 0
      services/web/test/frontend/features/file-tree/flows/create-folder.spec.tsx
  34. 1 0
      services/web/test/frontend/features/file-tree/flows/delete-entity.spec.tsx
  35. 1 0
      services/web/test/frontend/features/file-tree/flows/rename-entity.spec.tsx
  36. 1 0
      services/web/test/frontend/features/group-management/components/group-managers.spec.tsx
  37. 1 0
      services/web/test/frontend/features/group-management/components/group-members.spec.tsx
  38. 1 0
      services/web/test/frontend/features/group-management/components/institution-managers.spec.tsx
  39. 1 0
      services/web/test/frontend/features/group-management/components/managed-group-members.spec.tsx
  40. 1 0
      services/web/test/frontend/features/group-management/components/members-table/dropdown-button.spec.tsx
  41. 1 0
      services/web/test/frontend/features/group-management/components/members-table/managed-user-status.spec.tsx
  42. 1 0
      services/web/test/frontend/features/group-management/components/members-table/member-row.spec.tsx
  43. 1 0
      services/web/test/frontend/features/group-management/components/members-table/members-list.spec.tsx
  44. 1 0
      services/web/test/frontend/features/group-management/components/members-table/offboard-managed-user-modal.spec.tsx
  45. 1 0
      services/web/test/frontend/features/group-management/components/publisher-managers.spec.tsx
  46. 1 0
      services/web/test/frontend/features/history/components/change-list.spec.tsx
  47. 1 0
      services/web/test/frontend/features/history/components/document-diff-viewer.spec.tsx
  48. 1 0
      services/web/test/frontend/features/history/components/toolbar.spec.tsx
  49. 1 0
      services/web/test/frontend/features/layout/components/switch-to-editor-button.spec.tsx
  50. 1 0
      services/web/test/frontend/features/layout/components/switch-to-pdf-button.spec.tsx
  51. 1 0
      services/web/test/frontend/features/outline/components/outline-item.spec.tsx
  52. 1 0
      services/web/test/frontend/features/outline/components/outline-list.spec.tsx
  53. 1 0
      services/web/test/frontend/features/outline/components/outline-pane.spec.tsx
  54. 1 0
      services/web/test/frontend/features/outline/components/outline-root.spec.tsx
  55. 1 0
      services/web/test/frontend/features/project-list/components/new-project-button/upload-project-modal.spec.tsx
  56. 1 0
      services/web/test/frontend/features/review-panel/review-panel.spec.tsx
  57. 1 0
      services/web/test/frontend/features/source-editor/components/codemirror-editor-autocomplete.spec.tsx
  58. 1 0
      services/web/test/frontend/features/source-editor/components/codemirror-editor-close-brackets.spec.tsx
  59. 1 0
      services/web/test/frontend/features/source-editor/components/codemirror-editor-cursor.spec.tsx
  60. 1 0
      services/web/test/frontend/features/source-editor/components/codemirror-editor-figure-modal.spec.tsx
  61. 1 0
      services/web/test/frontend/features/source-editor/components/codemirror-editor-fundamentals.spec.tsx
  62. 1 0
      services/web/test/frontend/features/source-editor/components/codemirror-editor-shortcuts.spec.tsx
  63. 1 0
      services/web/test/frontend/features/source-editor/components/codemirror-editor-spellchecker.spec.tsx
  64. 1 0
      services/web/test/frontend/features/source-editor/components/codemirror-editor-table-generator.spec.tsx
  65. 1 0
      services/web/test/frontend/features/source-editor/components/codemirror-editor-visual-command-tooltip.spec.tsx
  66. 1 0
      services/web/test/frontend/features/source-editor/components/codemirror-editor-visual-floats.spec.tsx
  67. 1 0
      services/web/test/frontend/features/source-editor/components/codemirror-editor-visual-list.spec.tsx
  68. 1 0
      services/web/test/frontend/features/source-editor/components/codemirror-editor-visual-paste-html.spec.tsx
  69. 1 0
      services/web/test/frontend/features/source-editor/components/codemirror-editor-visual-readonly.spec.tsx
  70. 1 0
      services/web/test/frontend/features/source-editor/components/codemirror-editor-visual-toolbar.spec.tsx
  71. 1 0
      services/web/test/frontend/features/source-editor/components/codemirror-editor-visual-tooltips.spec.tsx
  72. 1 0
      services/web/test/frontend/features/source-editor/components/codemirror-editor-visual.spec.tsx
  73. 1 0
      services/web/test/frontend/features/source-editor/components/codemirror-editor.spec.tsx
  74. 5 0
      services/web/test/frontend/helpers/bootstrap-3.ts
  75. 5 0
      services/web/test/frontend/helpers/bootstrap-5.ts
  76. 1 0
      services/web/test/frontend/infrastructure/i18n.spec.tsx
  77. 1 0
      services/web/test/frontend/shared/hooks/use-detach-action.spec.tsx
  78. 1 0
      services/web/test/frontend/shared/hooks/use-detach-layout.spec.tsx
  79. 1 0
      services/web/test/frontend/shared/hooks/use-detach-state.spec.tsx
  80. 1 0
      services/web/test/frontend/shared/hooks/use-recaptcha.spec.tsx
  81. 1 0
      services/web/test/frontend/shared/hooks/use-resize.spec.tsx

+ 0 - 1
services/web/cypress/support/component.ts

@@ -1,5 +1,4 @@
 import 'cypress-plugin-tab'
-import '../../frontend/stylesheets/main-style.less'
 import { resetMeta } from './ct/window' // needs to be before i18n
 import '../../frontend/js/i18n'
 import './shared/commands'

+ 1 - 1
services/web/frontend/js/features/settings/components/emails/email.tsx

@@ -40,7 +40,7 @@ function Email({ userEmailData }: EmailProps) {
         </div>
       )}
       {hasBadges && (
-        <div className={classnames({ small: !isBootstrap5 })}>
+        <div className={classnames({ small: !isBootstrap5() })}>
           {isPrimary && (
             <>
               <OLBadge bg="info">Primary</OLBadge>{' '}

+ 1 - 1
services/web/frontend/js/features/settings/components/emails/reconfirmation-info.tsx

@@ -97,7 +97,7 @@ function ReconfirmationInfo({ userEmailData }: ReconfirmationInfoProps) {
     return (
       <OLRow>
         <OLCol lg={12}>
-          {isBootstrap5 ? (
+          {isBootstrap5() ? (
             <OLNotification
               type="info"
               content={

+ 1 - 1
services/web/frontend/js/features/ui/components/bootstrap-5/bootstrap-version-switcher.tsx

@@ -9,7 +9,7 @@ function BootstrapVersionSwitcher({
   bs3,
   bs5,
 }: BootstrapVersionSwitcherProps): React.ReactElement {
-  return <>{isBootstrap5 ? bs5 : bs3}</>
+  return <>{isBootstrap5() ? bs5 : bs3}</>
 }
 
 export default BootstrapVersionSwitcher

+ 4 - 2
services/web/frontend/js/features/utils/bootstrap-5.ts

@@ -1,9 +1,11 @@
 import getMeta from '@/utils/meta'
 
-export const isBootstrap5 = getMeta('ol-bootstrapVersion') === 5
+// The reason this is a function to ensure that meta tag is read before any
+// isBootstrap5 check is performed
+export const isBootstrap5 = () => getMeta('ol-bootstrapVersion') === 5
 
 export const bsVersion = ({ bs5, bs3 }: { bs5?: string; bs3?: string }) => {
-  return isBootstrap5 ? bs5 : bs3
+  return isBootstrap5() ? bs5 : bs3
 }
 
 // get all `aria-*` and `data-*` attributes

+ 1 - 0
services/web/test/frontend/components/editor-left-menu/editor-left-menu.spec.tsx

@@ -1,3 +1,4 @@
+import '../../helpers/bootstrap-3'
 import EditorLeftMenu from '../../../../frontend/js/features/editor-left-menu/components/editor-left-menu'
 import {
   AllowedImageName,

+ 1 - 0
services/web/test/frontend/components/pdf-preview/detach-compile-button.spec.tsx

@@ -1,3 +1,4 @@
+import '../../helpers/bootstrap-3'
 import { EditorProviders } from '../../helpers/editor-providers'
 import DetachCompileButtonWrapper from '../../../../frontend/js/features/pdf-preview/components/detach-compile-button-wrapper'
 import { mockScope } from './scope'

+ 1 - 0
services/web/test/frontend/components/pdf-preview/pdf-js-viewer.spec.tsx

@@ -1,3 +1,4 @@
+import '../../helpers/bootstrap-3'
 import { EditorProviders } from '../../helpers/editor-providers'
 import PdfJsViewer from '../../../../frontend/js/features/pdf-preview/components/pdf-js-viewer'
 import { mockScope } from './scope'

+ 1 - 0
services/web/test/frontend/components/pdf-preview/pdf-logs-entries.spec.tsx

@@ -1,3 +1,4 @@
+import '../../helpers/bootstrap-3'
 import { EditorProviders } from '../../helpers/editor-providers'
 import PdfLogsEntries from '../../../../frontend/js/features/pdf-preview/components/pdf-logs-entries'
 import { detachChannel, testDetachChannel } from '../../helpers/detach-channel'

+ 1 - 0
services/web/test/frontend/components/pdf-preview/pdf-preview-detached-root.spec.tsx

@@ -1,3 +1,4 @@
+import '../../helpers/bootstrap-3'
 import PdfPreviewDetachedRoot from '../../../../frontend/js/features/pdf-preview/components/pdf-preview-detached-root'
 import { detachChannel, testDetachChannel } from '../../helpers/detach-channel'
 

+ 1 - 0
services/web/test/frontend/components/pdf-preview/pdf-preview-hybrid-toolbar.spec.tsx

@@ -1,3 +1,4 @@
+import '../../helpers/bootstrap-3'
 import { EditorProviders } from '../../helpers/editor-providers'
 import PdfPreviewHybridToolbar from '../../../../frontend/js/features/pdf-preview/components/pdf-preview-hybrid-toolbar'
 import { testDetachChannel } from '../../helpers/detach-channel'

+ 1 - 0
services/web/test/frontend/components/pdf-preview/pdf-preview.spec.tsx

@@ -1,3 +1,4 @@
+import '../../helpers/bootstrap-3'
 import localStorage from '../../../../frontend/js/infrastructure/local-storage'
 import PdfPreview from '../../../../frontend/js/features/pdf-preview/components/pdf-preview'
 import { EditorProviders } from '../../helpers/editor-providers'

+ 1 - 0
services/web/test/frontend/components/pdf-preview/pdf-synctex-controls.spec.tsx

@@ -1,3 +1,4 @@
+import '../../helpers/bootstrap-3'
 import PdfSynctexControls from '../../../../frontend/js/features/pdf-preview/components/pdf-synctex-controls'
 import { cloneDeep } from 'lodash'
 import { useDetachCompileContext as useCompileContext } from '../../../../frontend/js/shared/context/detach-compile-context'

+ 1 - 0
services/web/test/frontend/components/project-list/notifications/group-invitation.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import GroupInvitationNotification from '@/features/project-list/components/notifications/groups/group-invitation/group-invitation'
 import { NotificationGroupInvitation } from '../../../../../types/project/dashboard/notification'
 

+ 1 - 0
services/web/test/frontend/components/shared/accessible-modal.spec.tsx

@@ -1,3 +1,4 @@
+import '../../helpers/bootstrap-3'
 import { Modal } from 'react-bootstrap'
 import AccessibleModal from '../../../../frontend/js/shared/components/accessible-modal'
 

+ 1 - 0
services/web/test/frontend/components/shared/beta-badge.spec.tsx

@@ -1,3 +1,4 @@
+import '../../helpers/bootstrap-3'
 import BetaBadge from '../../../../frontend/js/shared/components/beta-badge'
 
 describe('beta badge', function () {

+ 1 - 0
services/web/test/frontend/components/shared/select.spec.tsx

@@ -1,3 +1,4 @@
+import '../../helpers/bootstrap-3'
 import { useCallback, FormEvent } from 'react'
 import { Button, Form, FormControl } from 'react-bootstrap'
 import {

+ 1 - 0
services/web/test/frontend/components/shared/split-menu.spec.tsx

@@ -1,3 +1,4 @@
+import '../../helpers/bootstrap-3'
 import SplitMenu from '../../../../frontend/js/shared/components/split-menu'
 
 describe('SplitMenu', function () {

+ 1 - 0
services/web/test/frontend/components/shared/split-test-badge.spec.tsx

@@ -1,3 +1,4 @@
+import '../../helpers/bootstrap-3'
 import SplitTestBadge from '../../../../frontend/js/shared/components/split-test-badge'
 import { EditorProviders } from '../../helpers/editor-providers'
 

+ 1 - 0
services/web/test/frontend/components/shared/start-free-trial-button.spec.tsx

@@ -1,3 +1,4 @@
+import '../../helpers/bootstrap-3'
 import StartFreeTrialButton from '../../../../frontend/js/shared/components/start-free-trial-button'
 import getMeta from '@/utils/meta'
 

+ 1 - 0
services/web/test/frontend/components/shared/tooltip.spec.tsx

@@ -1,3 +1,4 @@
+import '../../helpers/bootstrap-3'
 import Tooltip from '../../../../frontend/js/shared/components/tooltip'
 
 describe('<Tooltip />', function () {

+ 1 - 0
services/web/test/frontend/components/token-access/token-access-page.spec.tsx

@@ -1,3 +1,4 @@
+import '../../helpers/bootstrap-3'
 import TokenAccessPage from '@/features/token-access/components/token-access-root'
 import { location } from '@/shared/components/location'
 

+ 1 - 0
services/web/test/frontend/features/file-tree/components/file-tree-create/file-tree-create-name-input.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../../helpers/bootstrap-3'
 import FileTreeCreateNameInput from '../../../../../../frontend/js/features/file-tree/components/file-tree-create/file-tree-create-name-input'
 import FileTreeCreateNameProvider from '../../../../../../frontend/js/features/file-tree/contexts/file-tree-create-name'
 

+ 1 - 0
services/web/test/frontend/features/file-tree/components/file-tree-create/file-tree-modal-create-file.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../../helpers/bootstrap-3'
 import { useEffect } from 'react'
 import FileTreeModalCreateFile from '../../../../../../frontend/js/features/file-tree/components/modals/file-tree-modal-create-file'
 import { useFileTreeActionable } from '../../../../../../frontend/js/features/file-tree/contexts/file-tree-actionable'

+ 1 - 0
services/web/test/frontend/features/file-tree/components/file-tree-doc.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import FileTreeDoc from '../../../../../frontend/js/features/file-tree/components/file-tree-doc'
 import { EditorProviders } from '../../../helpers/editor-providers'
 import { FileTreeProvider } from '../helpers/file-tree-provider'

+ 1 - 0
services/web/test/frontend/features/file-tree/components/file-tree-folder-list.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import FileTreeFolderList from '../../../../../frontend/js/features/file-tree/components/file-tree-folder-list'
 import { EditorProviders } from '../../../helpers/editor-providers'
 import { FileTreeProvider } from '../helpers/file-tree-provider'

+ 1 - 0
services/web/test/frontend/features/file-tree/components/file-tree-folder.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import FileTreeFolder from '../../../../../frontend/js/features/file-tree/components/file-tree-folder'
 import { EditorProviders } from '../../../helpers/editor-providers'
 import { FileTreeProvider } from '../helpers/file-tree-provider'

+ 1 - 0
services/web/test/frontend/features/file-tree/components/file-tree-item/file-tree-item-inner.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../../helpers/bootstrap-3'
 import FileTreeitemInner from '../../../../../../frontend/js/features/file-tree/components/file-tree-item/file-tree-item-inner'
 import FileTreeContextMenu from '../../../../../../frontend/js/features/file-tree/components/file-tree-context-menu'
 import { EditorProviders } from '../../../../helpers/editor-providers'

+ 1 - 0
services/web/test/frontend/features/file-tree/components/file-tree-item/file-tree-item-name.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../../helpers/bootstrap-3'
 import FileTreeItemName from '../../../../../../frontend/js/features/file-tree/components/file-tree-item/file-tree-item-name'
 import { EditorProviders } from '../../../../helpers/editor-providers'
 import { FileTreeProvider } from '../../helpers/file-tree-provider'

+ 1 - 0
services/web/test/frontend/features/file-tree/components/file-tree-root.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import FileTreeRoot from '../../../../../frontend/js/features/file-tree/components/file-tree-root'
 import { EditorProviders } from '../../../helpers/editor-providers'
 import { SocketIOMock } from '@/ide/connection/SocketIoShim'

+ 1 - 0
services/web/test/frontend/features/file-tree/components/file-tree-toolbar.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import FileTreeToolbar from '../../../../../frontend/js/features/file-tree/components/file-tree-toolbar'
 import { EditorProviders } from '../../../helpers/editor-providers'
 import { FileTreeProvider } from '../helpers/file-tree-provider'

+ 1 - 0
services/web/test/frontend/features/file-tree/flows/context-menu.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import FileTreeRoot from '../../../../../frontend/js/features/file-tree/components/file-tree-root'
 import { EditorProviders } from '../../../helpers/editor-providers'
 

+ 1 - 0
services/web/test/frontend/features/file-tree/flows/create-folder.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import FileTreeRoot from '../../../../../frontend/js/features/file-tree/components/file-tree-root'
 import { EditorProviders } from '../../../helpers/editor-providers'
 import { SocketIOMock } from '@/ide/connection/SocketIoShim'

+ 1 - 0
services/web/test/frontend/features/file-tree/flows/delete-entity.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import FileTreeRoot from '../../../../../frontend/js/features/file-tree/components/file-tree-root'
 import { EditorProviders } from '../../../helpers/editor-providers'
 import { SocketIOMock } from '@/ide/connection/SocketIoShim'

+ 1 - 0
services/web/test/frontend/features/file-tree/flows/rename-entity.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import FileTreeRoot from '../../../../../frontend/js/features/file-tree/components/file-tree-root'
 import { EditorProviders } from '../../../helpers/editor-providers'
 import { SocketIOMock } from '@/ide/connection/SocketIoShim'

+ 1 - 0
services/web/test/frontend/features/group-management/components/group-managers.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import GroupManagers from '@/features/group-management/components/group-managers'
 
 const JOHN_DOE = {

+ 1 - 0
services/web/test/frontend/features/group-management/components/group-members.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import GroupMembers from '@/features/group-management/components/group-members'
 import { GroupMembersProvider } from '@/features/group-management/context/group-members-context'
 import { User } from '../../../../../types/group-management/user'

+ 1 - 0
services/web/test/frontend/features/group-management/components/institution-managers.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import InstitutionManagers from '@/features/group-management/components/institution-managers'
 
 const JOHN_DOE = {

+ 1 - 0
services/web/test/frontend/features/group-management/components/managed-group-members.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import GroupMembers from '@/features/group-management/components/group-members'
 import { GroupMembersProvider } from '@/features/group-management/context/group-members-context'
 import { User } from '../../../../../types/group-management/user'

+ 1 - 0
services/web/test/frontend/features/group-management/components/members-table/dropdown-button.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../../helpers/bootstrap-3'
 import type { PropsWithChildren } from 'react'
 import sinon from 'sinon'
 import DropdownButton from '@/features/group-management/components/members-table/dropdown-button'

+ 1 - 0
services/web/test/frontend/features/group-management/components/members-table/managed-user-status.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../../helpers/bootstrap-3'
 import ManagedUserStatus from '@/features/group-management/components/members-table/managed-user-status'
 import { User } from '../../../../../../types/group-management/user'
 

+ 1 - 0
services/web/test/frontend/features/group-management/components/members-table/member-row.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../../helpers/bootstrap-3'
 import sinon from 'sinon'
 import MemberRow from '@/features/group-management/components/members-table/member-row'
 import { GroupMembersProvider } from '@/features/group-management/context/group-members-context'

+ 1 - 0
services/web/test/frontend/features/group-management/components/members-table/members-list.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../../helpers/bootstrap-3'
 import MembersList from '@/features/group-management/components/members-table/members-list'
 import { GroupMembersProvider } from '@/features/group-management/context/group-members-context'
 import { User } from '../../../../../../types/group-management/user'

+ 1 - 0
services/web/test/frontend/features/group-management/components/members-table/offboard-managed-user-modal.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../../helpers/bootstrap-3'
 import OffboardManagedUserModal from '@/features/group-management/components/members-table/offboard-managed-user-modal'
 import sinon from 'sinon'
 

+ 1 - 0
services/web/test/frontend/features/group-management/components/publisher-managers.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import PublisherManagers from '@/features/group-management/components/publisher-managers'
 
 const JOHN_DOE = {

+ 1 - 0
services/web/test/frontend/features/history/components/change-list.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import { useState } from 'react'
 import ToggleSwitch from '../../../../../frontend/js/features/history/components/change-list/toggle-switch'
 import ChangeList from '../../../../../frontend/js/features/history/components/change-list/change-list'

+ 1 - 0
services/web/test/frontend/features/history/components/document-diff-viewer.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import DocumentDiffViewer from '../../../../../frontend/js/features/history/components/diff-view/document-diff-viewer'
 import { Highlight } from '../../../../../frontend/js/features/history/services/types/doc'
 import { FC } from 'react'

+ 1 - 0
services/web/test/frontend/features/history/components/toolbar.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import Toolbar from '../../../../../frontend/js/features/history/components/diff-view/toolbar/toolbar'
 import { HistoryProvider } from '../../../../../frontend/js/features/history/context/history-context'
 import { HistoryContextValue } from '../../../../../frontend/js/features/history/context/types/history-context-value'

+ 1 - 0
services/web/test/frontend/features/layout/components/switch-to-editor-button.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import { EditorProviders } from '../../../helpers/editor-providers'
 import SwitchToEditorButton from '@/features/pdf-preview/components/switch-to-editor-button'
 

+ 1 - 0
services/web/test/frontend/features/layout/components/switch-to-pdf-button.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import SwitchToPDFButton from '@/features/source-editor/components/switch-to-pdf-button'
 import { EditorProviders } from '../../../helpers/editor-providers'
 

+ 1 - 0
services/web/test/frontend/features/outline/components/outline-item.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import OutlineItem from '../../../../../frontend/js/features/outline/components/outline-item'
 
 describe('<OutlineItem />', function () {

+ 1 - 0
services/web/test/frontend/features/outline/components/outline-list.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import OutlineList from '../../../../../frontend/js/features/outline/components/outline-list'
 
 describe('<OutlineList />', function () {

+ 1 - 0
services/web/test/frontend/features/outline/components/outline-pane.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import OutlinePane from '@/features/outline/components/outline-pane'
 import { EditorProviders, PROJECT_ID } from '../../../helpers/editor-providers'
 import { useState } from 'react'

+ 1 - 0
services/web/test/frontend/features/outline/components/outline-root.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import OutlineRoot from '../../../../../frontend/js/features/outline/components/outline-root'
 
 describe('<OutlineRoot />', function () {

+ 1 - 0
services/web/test/frontend/features/project-list/components/new-project-button/upload-project-modal.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../../helpers/bootstrap-3'
 import UploadProjectModal from '../../../../../../frontend/js/features/project-list/components/new-project-button/upload-project-modal'
 
 describe('<UploadProjectModal />', function () {

+ 1 - 0
services/web/test/frontend/features/review-panel/review-panel.spec.tsx

@@ -1,3 +1,4 @@
+import '../../helpers/bootstrap-3'
 import CodeMirrorEditor from '../../../../frontend/js/features/source-editor/components/codemirror-editor'
 import { EditorProviders } from '../../helpers/editor-providers'
 import { mockScope } from '../source-editor/helpers/mock-scope'

+ 1 - 0
services/web/test/frontend/features/source-editor/components/codemirror-editor-autocomplete.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import { Folder } from '../../../../../types/folder'
 import { docId, mockDocContent } from '../helpers/mock-doc'
 import { mockScope } from '../helpers/mock-scope'

+ 1 - 0
services/web/test/frontend/features/source-editor/components/codemirror-editor-close-brackets.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import { mockScope } from '../helpers/mock-scope'
 import { EditorProviders } from '../../../helpers/editor-providers'
 import CodeMirrorEditor from '../../../../../frontend/js/features/source-editor/components/codemirror-editor'

+ 1 - 0
services/web/test/frontend/features/source-editor/components/codemirror-editor-cursor.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import { EditorProviders } from '../../../helpers/editor-providers'
 import CodemirrorEditor from '../../../../../frontend/js/features/source-editor/components/codemirror-editor'
 import { mockScope } from '../helpers/mock-scope'

+ 1 - 0
services/web/test/frontend/features/source-editor/components/codemirror-editor-figure-modal.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import CodemirrorEditor from '../../../../../frontend/js/features/source-editor/components/codemirror-editor'
 import { EditorProviders } from '../../../helpers/editor-providers'
 import { mockScope, rootFolderId } from '../helpers/mock-scope'

+ 1 - 0
services/web/test/frontend/features/source-editor/components/codemirror-editor-fundamentals.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import { EditorProviders } from '../../../helpers/editor-providers'
 import CodemirrorEditor from '../../../../../frontend/js/features/source-editor/components/codemirror-editor'
 import { mockScope } from '../helpers/mock-scope'

+ 1 - 0
services/web/test/frontend/features/source-editor/components/codemirror-editor-shortcuts.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import { mockScope } from '../helpers/mock-scope'
 import { EditorProviders } from '../../../helpers/editor-providers'
 import CodeMirrorEditor from '../../../../../frontend/js/features/source-editor/components/codemirror-editor'

+ 1 - 0
services/web/test/frontend/features/source-editor/components/codemirror-editor-spellchecker.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import { mockScope } from '../helpers/mock-scope'
 import { EditorProviders } from '../../../helpers/editor-providers'
 import CodeMirrorEditor from '../../../../../frontend/js/features/source-editor/components/codemirror-editor'

+ 1 - 0
services/web/test/frontend/features/source-editor/components/codemirror-editor-table-generator.spec.tsx

@@ -1,5 +1,6 @@
 // Needed since eslint gets confused by mocha-each
 /* eslint-disable mocha/prefer-arrow-callback */
+import '../../../helpers/bootstrap-3'
 import { EditorProviders } from '../../../helpers/editor-providers'
 import CodemirrorEditor from '../../../../../frontend/js/features/source-editor/components/codemirror-editor'
 import { mockScope } from '../helpers/mock-scope'

+ 1 - 0
services/web/test/frontend/features/source-editor/components/codemirror-editor-visual-command-tooltip.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import { EditorProviders } from '../../../helpers/editor-providers'
 import CodemirrorEditor from '../../../../../frontend/js/features/source-editor/components/codemirror-editor'
 import { mockScope } from '../helpers/mock-scope'

+ 1 - 0
services/web/test/frontend/features/source-editor/components/codemirror-editor-visual-floats.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import { EditorProviders } from '../../../helpers/editor-providers'
 import CodemirrorEditor from '../../../../../frontend/js/features/source-editor/components/codemirror-editor'
 import { mockScope } from '../helpers/mock-scope'

+ 1 - 0
services/web/test/frontend/features/source-editor/components/codemirror-editor-visual-list.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import { EditorProviders } from '../../../helpers/editor-providers'
 import CodemirrorEditor from '../../../../../frontend/js/features/source-editor/components/codemirror-editor'
 import { mockScope } from '../helpers/mock-scope'

+ 1 - 0
services/web/test/frontend/features/source-editor/components/codemirror-editor-visual-paste-html.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import { EditorProviders } from '../../../helpers/editor-providers'
 import CodemirrorEditor from '../../../../../frontend/js/features/source-editor/components/codemirror-editor'
 import { mockScope } from '../helpers/mock-scope'

+ 1 - 0
services/web/test/frontend/features/source-editor/components/codemirror-editor-visual-readonly.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import { mockScope } from '../helpers/mock-scope'
 import { EditorProviders } from '../../../helpers/editor-providers'
 import CodemirrorEditor from '../../../../../frontend/js/features/source-editor/components/codemirror-editor'

+ 1 - 0
services/web/test/frontend/features/source-editor/components/codemirror-editor-visual-toolbar.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import { EditorProviders } from '../../../helpers/editor-providers'
 import CodemirrorEditor from '../../../../../frontend/js/features/source-editor/components/codemirror-editor'
 import { mockScope } from '../helpers/mock-scope'

+ 1 - 0
services/web/test/frontend/features/source-editor/components/codemirror-editor-visual-tooltips.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import { mockScope } from '../helpers/mock-scope'
 import { EditorProviders } from '../../../helpers/editor-providers'
 import CodemirrorEditor from '../../../../../frontend/js/features/source-editor/components/codemirror-editor'

+ 1 - 0
services/web/test/frontend/features/source-editor/components/codemirror-editor-visual.spec.tsx

@@ -1,5 +1,6 @@
 // Needed since eslint gets confused by mocha-each
 /* eslint-disable mocha/prefer-arrow-callback */
+import '../../../helpers/bootstrap-3'
 import { FC } from 'react'
 import { EditorProviders } from '../../../helpers/editor-providers'
 import CodemirrorEditor from '../../../../../frontend/js/features/source-editor/components/codemirror-editor'

+ 1 - 0
services/web/test/frontend/features/source-editor/components/codemirror-editor.spec.tsx

@@ -1,3 +1,4 @@
+import '../../../helpers/bootstrap-3'
 import CodeMirrorEditor from '../../../../../frontend/js/features/source-editor/components/codemirror-editor'
 import { EditorProviders } from '../../../helpers/editor-providers'
 import { mockScope } from '../helpers/mock-scope'

+ 5 - 0
services/web/test/frontend/helpers/bootstrap-3.ts

@@ -0,0 +1,5 @@
+import '../../../frontend/stylesheets/main-style.less'
+
+beforeEach(function () {
+  window.metaAttributesCache.set('ol-bootstrapVersion', 3)
+})

+ 5 - 0
services/web/test/frontend/helpers/bootstrap-5.ts

@@ -0,0 +1,5 @@
+import '../../../frontend/stylesheets/bootstrap-5/main-style.scss'
+
+beforeEach(function () {
+  window.metaAttributesCache.set('ol-bootstrapVersion', 5)
+})

+ 1 - 0
services/web/test/frontend/infrastructure/i18n.spec.tsx

@@ -1,3 +1,4 @@
+import '../helpers/bootstrap-3'
 import { Trans, useTranslation } from 'react-i18next'
 
 describe('i18n', function () {

+ 1 - 0
services/web/test/frontend/shared/hooks/use-detach-action.spec.tsx

@@ -1,3 +1,4 @@
+import '../../helpers/bootstrap-3'
 import { FC } from 'react'
 import useDetachAction from '../../../../frontend/js/shared/hooks/use-detach-action'
 import { detachChannel, testDetachChannel } from '../../helpers/detach-channel'

+ 1 - 0
services/web/test/frontend/shared/hooks/use-detach-layout.spec.tsx

@@ -1,3 +1,4 @@
+import '../../helpers/bootstrap-3'
 import useDetachLayout from '../../../../frontend/js/shared/hooks/use-detach-layout'
 import { detachChannel, testDetachChannel } from '../../helpers/detach-channel'
 import { EditorProviders } from '../../helpers/editor-providers'

+ 1 - 0
services/web/test/frontend/shared/hooks/use-detach-state.spec.tsx

@@ -1,3 +1,4 @@
+import '../../helpers/bootstrap-3'
 import { FC } from 'react'
 import useDetachState from '../../../../frontend/js/shared/hooks/use-detach-state'
 import { EditorProviders } from '../../helpers/editor-providers'

+ 1 - 0
services/web/test/frontend/shared/hooks/use-recaptcha.spec.tsx

@@ -1,3 +1,4 @@
+import '../../helpers/bootstrap-3'
 import { useRecaptcha } from '@/shared/hooks/use-recaptcha'
 import * as ReactGoogleRecaptcha from 'react-google-recaptcha'
 

+ 1 - 0
services/web/test/frontend/shared/hooks/use-resize.spec.tsx

@@ -1,3 +1,4 @@
+import '../../helpers/bootstrap-3'
 import {
   usePersistedResize,
   useResize,