mock-project.ts 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. import { docId } from './mock-doc'
  2. import { Folder } from '../../../../../types/folder'
  3. import { UserId } from '../../../../../types/user'
  4. import { ProjectCompiler } from '../../../../../types/project-settings'
  5. export const rootFolderId = '012345678901234567890123'
  6. export const figuresFolderId = '123456789012345678901234'
  7. export const figureId = '234567890123456789012345'
  8. export const mockProject = ({
  9. projectFeatures = {},
  10. projectOwner = undefined,
  11. spellCheckLanguage = 'en',
  12. rootFolder = null,
  13. }: any = {}) => {
  14. return {
  15. _id: 'test-project',
  16. name: 'Test Project',
  17. spellCheckLanguage,
  18. rootDocId: '_root_doc_id',
  19. rootFolder:
  20. rootFolder ||
  21. ([
  22. {
  23. _id: rootFolderId,
  24. name: 'rootFolder',
  25. docs: [
  26. {
  27. _id: docId,
  28. name: 'test.tex',
  29. },
  30. ],
  31. folders: [
  32. {
  33. _id: figuresFolderId,
  34. name: 'figures',
  35. docs: [
  36. {
  37. _id: 'fake-nested-doc-id',
  38. name: 'foo.tex',
  39. },
  40. ],
  41. folders: [],
  42. fileRefs: [
  43. {
  44. _id: figureId,
  45. name: 'frog.jpg',
  46. hash: '42',
  47. },
  48. {
  49. _id: 'fake-figure-id',
  50. name: 'unicorn.png',
  51. hash: '43',
  52. },
  53. ],
  54. },
  55. ],
  56. fileRefs: [],
  57. },
  58. ] as Folder[]),
  59. features: {
  60. trackChanges: true,
  61. ...projectFeatures,
  62. },
  63. compiler: 'pdflatex' as ProjectCompiler,
  64. imageName: 'texlive-full:2024.1',
  65. trackChangesState: false,
  66. invites: [],
  67. members: [],
  68. owner: projectOwner || {
  69. _id: '124abd' as UserId,
  70. email: 'owner@example.com',
  71. first_name: 'Test',
  72. last_name: 'Owner',
  73. privileges: 'owner',
  74. signUpDate: new Date('2025-07-07').toISOString(),
  75. },
  76. }
  77. }