core.spec.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import test from 'tape'
  2. import Core from '../../src/core/Core.js'
  3. import Acquirer1Plugin from './mocks/plugin-acquirer1.js'
  4. import Acquirer2Plugin from './mocks/plugin-acquirer2.js'
  5. test('core', function (t) {
  6. const uppy = new Core()
  7. t.equal(typeof uppy, 'object', '`new Core()` should return an `object`')
  8. t.ok(uppy instanceof Core, '`uppy` should be an instance of `Core` core')
  9. t.end()
  10. })
  11. test('use plugins', function (t) {
  12. const uppy = new Core()
  13. uppy
  14. .use(Acquirer1Plugin)
  15. t.equal(Object.keys(uppy.plugins).length, 1, 'should add a plugin to the plugins stack')
  16. t.end()
  17. })
  18. test('noDuplicates', function (t) {
  19. const uppyTwoAcquirers = new Core()
  20. uppyTwoAcquirers.use(Acquirer1Plugin)
  21. const fn = uppyTwoAcquirers.use.bind(uppyTwoAcquirers, Acquirer1Plugin)
  22. t.throws(fn, new RegExp('Uppy is currently limited to running one of every plugin'))
  23. t.end()
  24. })
  25. test('autoProceed', function (t) {
  26. const uppyOneAcquirer = new Core()
  27. uppyOneAcquirer
  28. .use(Acquirer1Plugin)
  29. .run()
  30. const uppyTwoAcquirers = new Core()
  31. uppyTwoAcquirers
  32. .use(Acquirer1Plugin)
  33. .use(Acquirer2Plugin)
  34. .run()
  35. t.equal(uppyOneAcquirer.opts.autoProceed, true, 'should autoProceed if only one acquirer is used')
  36. t.equal(uppyTwoAcquirers.opts.autoProceed, false, 'should not autoProceed if more than one acquirer is used')
  37. t.end()
  38. })