compile.ts 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. import { v4 as uuid } from 'uuid'
  2. const outputFiles = () => {
  3. const build = uuid()
  4. return [
  5. {
  6. path: 'output.pdf',
  7. build,
  8. url: `/build/${build}/output.pdf`,
  9. type: 'pdf',
  10. },
  11. {
  12. path: 'output.bbl',
  13. build,
  14. url: `/build/${build}/output.bbl`,
  15. type: 'bbl',
  16. },
  17. {
  18. path: 'output.bib',
  19. build,
  20. url: `/build/${build}/output.bib`,
  21. type: 'bib',
  22. },
  23. {
  24. path: 'example.txt',
  25. build,
  26. url: `/build/${build}/example.txt`,
  27. type: 'txt',
  28. },
  29. {
  30. path: 'output.log',
  31. build,
  32. url: `/build/${build}/output.log`,
  33. type: 'log',
  34. },
  35. {
  36. path: 'output.blg',
  37. build,
  38. url: `/build/${build}/output.blg`,
  39. type: 'blg',
  40. },
  41. ]
  42. }
  43. Cypress.Commands.add('interceptCompile', (prefix = 'compile') => {
  44. cy.intercept('POST', '/project/*/compile*', {
  45. body: {
  46. status: 'success',
  47. clsiServerId: 'foo',
  48. compileGroup: 'priority',
  49. pdfDownloadDomain: 'https://clsi.test-overleaf.com',
  50. outputFiles: outputFiles(),
  51. },
  52. }).as(`${prefix}`)
  53. cy.intercept('/build/*/output.pdf*', {
  54. fixture: 'build/output.pdf,null',
  55. }).as(`${prefix}-pdf`)
  56. cy.intercept('/build/*/output.log*', {
  57. fixture: 'build/output.log',
  58. }).as(`${prefix}-log`)
  59. cy.intercept('/build/*/output.blg*', {
  60. fixture: 'build/output.blg',
  61. }).as(`${prefix}-blg`)
  62. })