file-tree-toolbar.spec.tsx 1.8 KB

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