file-tree-toolbar.spec.tsx 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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('have.length', 1)
  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: 'Close' })
  50. })
  51. })