file-tree-toolbar.spec.tsx 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import '../../../helpers/bootstrap-3'
  2. import FileTreeToolbar from '../../../../../frontend/js/features/file-tree/components/file-tree-toolbar'
  3. import { EditorProviders } from '../../../helpers/editor-providers'
  4. import { FileTreeProvider } from '../helpers/file-tree-provider'
  5. describe('<FileTreeToolbar/>', function () {
  6. it('without selected files', function () {
  7. cy.mount(
  8. <EditorProviders>
  9. <FileTreeProvider>
  10. <FileTreeToolbar />
  11. </FileTreeProvider>
  12. </EditorProviders>
  13. )
  14. cy.findAllByRole('button', { name: 'New file' })
  15. cy.findAllByRole('button', { name: 'New folder' })
  16. cy.findAllByRole('button', { name: 'Upload' })
  17. cy.findAllByRole('button', { name: 'Rename' }).should('not.exist')
  18. cy.findAllByRole('button', { name: 'Delete' }).should('not.exist')
  19. })
  20. it('read-only', function () {
  21. cy.mount(
  22. <EditorProviders permissionsLevel="readOnly">
  23. <FileTreeProvider>
  24. <FileTreeToolbar />
  25. </FileTreeProvider>
  26. </EditorProviders>
  27. )
  28. cy.findAllByRole('button').should('not.exist')
  29. })
  30. it('with one selected file', function () {
  31. const rootFolder = [
  32. {
  33. _id: 'root-folder-id',
  34. name: 'rootFolder',
  35. docs: [{ _id: '456def', name: 'main.tex' }],
  36. folders: [],
  37. fileRefs: [],
  38. },
  39. ]
  40. cy.mount(
  41. <EditorProviders rootDocId="456def" rootFolder={rootFolder as any}>
  42. <FileTreeProvider>
  43. <FileTreeToolbar />
  44. </FileTreeProvider>
  45. </EditorProviders>
  46. )
  47. cy.findAllByRole('button', { name: 'New file' })
  48. cy.findAllByRole('button', { name: 'New folder' })
  49. cy.findAllByRole('button', { name: 'Upload' })
  50. cy.findAllByRole('button', { name: 'Rename' })
  51. cy.findAllByRole('button', { name: 'Delete' })
  52. })
  53. })