mock-scope.ts 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. import { docId, mockDoc } from './mock-doc'
  2. import { sleep } from '../../../helpers/sleep'
  3. import { Folder } from '../../../../../types/folder'
  4. export const rootFolderId = '012345678901234567890123'
  5. export const figuresFolderId = '123456789012345678901234'
  6. export const figureId = '234567890123456789012345'
  7. export const mockScope = (
  8. content?: string,
  9. {
  10. docOptions = {},
  11. projectFeatures = {},
  12. permissions = {},
  13. projectOwner = undefined,
  14. }: any = {}
  15. ) => {
  16. return {
  17. editor: {
  18. sharejs_doc: mockDoc(content, docOptions),
  19. open_doc_name: 'test.tex',
  20. open_doc_id: docId,
  21. showVisual: false,
  22. wantTrackChanges: false,
  23. },
  24. pdf: {
  25. logEntryAnnotations: {},
  26. },
  27. project: {
  28. _id: 'test-project',
  29. name: 'Test Project',
  30. spellCheckLanguage: 'en',
  31. rootFolder: [
  32. {
  33. _id: rootFolderId,
  34. name: 'rootFolder',
  35. docs: [
  36. {
  37. _id: docId,
  38. name: 'test.tex',
  39. },
  40. ],
  41. folders: [
  42. {
  43. _id: figuresFolderId,
  44. name: 'figures',
  45. docs: [
  46. {
  47. _id: 'fake-nested-doc-id',
  48. name: 'foo.tex',
  49. },
  50. ],
  51. folders: [],
  52. fileRefs: [
  53. {
  54. _id: figureId,
  55. name: 'frog.jpg',
  56. hash: '42',
  57. },
  58. {
  59. _id: 'fake-figure-id',
  60. name: 'unicorn.png',
  61. hash: '43',
  62. },
  63. ],
  64. },
  65. ],
  66. fileRefs: [],
  67. },
  68. ] as Folder[],
  69. features: {
  70. trackChanges: true,
  71. ...projectFeatures,
  72. },
  73. trackChangesState: {},
  74. members: [],
  75. owner: projectOwner,
  76. },
  77. permissions: {
  78. comment: true,
  79. trackedWrite: true,
  80. write: true,
  81. ...permissions,
  82. },
  83. toggleReviewPanel: cy.stub(),
  84. toggleTrackChangesForEveryone: cy.stub(),
  85. refreshResolvedCommentsDropdown: cy.stub(() => sleep(1000)),
  86. onlineUserCursorHighlights: {},
  87. permissionsLevel: 'owner',
  88. $on: cy.stub().log(false),
  89. $broadcast: cy.stub().log(false),
  90. $emit: cy.stub().log(false),
  91. }
  92. }