render-with-context.js 814 B

12345678910111213141516171819202122232425262728293031
  1. import React from 'react'
  2. import { render } from '@testing-library/react'
  3. import { ApplicationProvider } from '../../../frontend/js/shared/context/application-context'
  4. import { EditorProvider } from '../../../frontend/js/shared/context/editor-context'
  5. import sinon from 'sinon'
  6. export function renderWithEditorContext(
  7. children,
  8. { user = { id: '123abd' }, projectId } = {}
  9. ) {
  10. window.user = user || window.user
  11. window.project_id = projectId != null ? projectId : window.project_id
  12. window._ide = {
  13. $scope: {
  14. project: {
  15. owner: {
  16. _id: '124abd'
  17. }
  18. }
  19. },
  20. socket: {
  21. on: sinon.stub(),
  22. removeListener: sinon.stub()
  23. }
  24. }
  25. return render(
  26. <ApplicationProvider>
  27. <EditorProvider>{children}</EditorProvider>
  28. </ApplicationProvider>
  29. )
  30. }