file-tree-doc.spec.tsx 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. import '../../../helpers/bootstrap-3'
  2. import FileTreeDoc from '../../../../../frontend/js/features/file-tree/components/file-tree-doc'
  3. import { EditorProviders } from '../../../helpers/editor-providers'
  4. import { FileTreeProvider } from '../helpers/file-tree-provider'
  5. describe('<FileTreeDoc/>', function () {
  6. it('renders unselected', function () {
  7. cy.mount(
  8. <EditorProviders>
  9. <FileTreeProvider>
  10. <FileTreeDoc name="foo.tex" id="123abc" />
  11. </FileTreeProvider>
  12. </EditorProviders>
  13. )
  14. cy.findByRole('treeitem', { selected: false })
  15. cy.get('i.linked-file-highlight').should('not.exist')
  16. })
  17. it('renders selected', function () {
  18. const rootFolder = [
  19. {
  20. _id: 'root-folder-id',
  21. name: 'rootFolder',
  22. docs: [{ _id: '123abc' }],
  23. fileRefs: [],
  24. folders: [],
  25. },
  26. ]
  27. cy.mount(
  28. <EditorProviders rootFolder={rootFolder as any}>
  29. <FileTreeProvider>
  30. <FileTreeDoc name="foo.tex" id="123abc" />,
  31. </FileTreeProvider>
  32. </EditorProviders>
  33. )
  34. cy.findByRole('treeitem', { selected: false }).click()
  35. cy.findByRole('treeitem', { selected: true })
  36. })
  37. it('renders as linked file', function () {
  38. cy.mount(
  39. <EditorProviders>
  40. <FileTreeProvider>
  41. <FileTreeDoc name="foo.tex" id="123abc" isLinkedFile />
  42. </FileTreeProvider>
  43. </EditorProviders>
  44. )
  45. cy.findByRole('treeitem')
  46. cy.get('i.linked-file-highlight')
  47. })
  48. it('multi-selects', function () {
  49. const rootFolder = [
  50. {
  51. _id: 'root-folder-id',
  52. name: 'rootFolder',
  53. docs: [{ _id: '123abc' }],
  54. fileRefs: [],
  55. folders: [],
  56. },
  57. ]
  58. cy.mount(
  59. <EditorProviders rootFolder={rootFolder as any}>
  60. <FileTreeProvider>
  61. <FileTreeDoc name="foo.tex" id="123abc" />,
  62. </FileTreeProvider>
  63. </EditorProviders>
  64. )
  65. cy.findByRole('treeitem').click({ ctrlKey: true, cmdKey: true })
  66. cy.findByRole('treeitem', { selected: true })
  67. })
  68. })