XHRUpload.test.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. const nock = require('nock')
  2. const Core = require('@uppy/core')
  3. const XHRUpload = require('./XHRUpload')
  4. describe('XHRUpload', () => {
  5. describe('getResponseData', () => {
  6. it('has the XHRUpload options as its `this`', () => {
  7. nock('https://fake-endpoint.uppy.io')
  8. .defaultReplyHeaders({
  9. 'access-control-allow-method': 'POST',
  10. 'access-control-allow-origin': '*'
  11. })
  12. .options('/').reply(200, {})
  13. .post('/').reply(200, {})
  14. const core = new Core({ autoProceed: false })
  15. const getResponseData = jest.fn(function () {
  16. expect(this.some).toEqual('option')
  17. return {}
  18. })
  19. core.use(XHRUpload, {
  20. id: 'XHRUpload',
  21. endpoint: 'https://fake-endpoint.uppy.io',
  22. some: 'option',
  23. getResponseData
  24. })
  25. core.addFile({
  26. name: 'test.jpg',
  27. data: new Blob([Buffer.alloc(8192)])
  28. })
  29. return core.upload().then(() => {
  30. expect(getResponseData).toHaveBeenCalled()
  31. })
  32. })
  33. })
  34. })