mock-scope.ts 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  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. openDocName: 'test.tex',
  20. currentDocumentId: docId,
  21. showVisual: false,
  22. wantTrackChanges: false,
  23. },
  24. project: {
  25. _id: 'test-project',
  26. name: 'Test Project',
  27. spellCheckLanguage: 'en',
  28. rootFolder: [
  29. {
  30. _id: rootFolderId,
  31. name: 'rootFolder',
  32. docs: [
  33. {
  34. _id: docId,
  35. name: 'test.tex',
  36. },
  37. ],
  38. folders: [
  39. {
  40. _id: figuresFolderId,
  41. name: 'figures',
  42. docs: [
  43. {
  44. _id: 'fake-nested-doc-id',
  45. name: 'foo.tex',
  46. },
  47. ],
  48. folders: [],
  49. fileRefs: [
  50. {
  51. _id: figureId,
  52. name: 'frog.jpg',
  53. hash: '42',
  54. },
  55. {
  56. _id: 'fake-figure-id',
  57. name: 'unicorn.png',
  58. hash: '43',
  59. },
  60. ],
  61. },
  62. ],
  63. fileRefs: [],
  64. },
  65. ] as Folder[],
  66. features: {
  67. trackChanges: true,
  68. ...projectFeatures,
  69. },
  70. trackChangesState: {},
  71. members: [],
  72. owner: projectOwner,
  73. },
  74. permissions: {
  75. comment: true,
  76. trackedWrite: true,
  77. write: true,
  78. ...permissions,
  79. },
  80. toggleReviewPanel: cy.stub(),
  81. toggleTrackChangesForEveryone: cy.stub(),
  82. refreshResolvedCommentsDropdown: cy.stub(() => sleep(1000)),
  83. onlineUserCursorHighlights: {},
  84. permissionsLevel: 'owner',
  85. $on: cy.stub().log(false),
  86. $broadcast: cy.stub().log(false),
  87. $emit: cy.stub().log(false),
  88. }
  89. }