scope.tsx 1015 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import { MainDocument, PdfViewer } from '../../../../types/project-settings'
  2. type Scope = {
  3. settings?: {
  4. syntaxValidation?: boolean
  5. pdfViewer?: PdfViewer
  6. }
  7. editor?: {
  8. sharejs_doc?: {
  9. doc_id?: string
  10. getSnapshot?: () => string
  11. }
  12. newSourceEditor?: boolean
  13. }
  14. hasLintingError?: boolean
  15. ui?: {
  16. view?: 'editor' | 'history' | 'file' | 'pdf'
  17. pdfLayout?: 'flat' | 'sideBySide' | 'split'
  18. leftMenuShown?: boolean
  19. }
  20. project?: {
  21. members?: any[]
  22. owner: {
  23. _id: string
  24. }
  25. }
  26. user?: {
  27. features?: {
  28. dropbox: boolean
  29. }
  30. }
  31. docs?: MainDocument[]
  32. }
  33. export const mockScope = (scope?: Scope) => ({
  34. settings: {
  35. syntaxValidation: false,
  36. pdfViewer: 'pdfjs',
  37. },
  38. editor: {
  39. sharejs_doc: {
  40. doc_id: 'test-doc',
  41. getSnapshot: () => 'some doc content',
  42. },
  43. newSourceEditor: true,
  44. },
  45. hasLintingError: false,
  46. ui: {
  47. view: 'editor',
  48. pdfLayout: 'sideBySide',
  49. leftMenuShown: false,
  50. },
  51. ...scope,
  52. })