diff --git a/test/unit/Transloadit.spec.js b/test/unit/Transloadit.spec.js index 061325b2e..5adea4c5a 100644 --- a/test/unit/Transloadit.spec.js +++ b/test/unit/Transloadit.spec.js @@ -5,10 +5,6 @@ import Transloadit from '../../src/plugins/Transloadit' test('Transloadit: Throws errors if options are missing', (t) => { const uppy = new Core() - t.throws(() => { - uppy.use(Transloadit, {}) - }, /The `params` option is required/) - t.throws(() => { uppy.use(Transloadit, { params: {} }) }, /The `params\.auth\.key` option is required/) @@ -38,3 +34,28 @@ test('Transloadit: Accepts a JSON string as `params` for signature authenticatio t.end() }) + +test('Transloadit: Validates response from getAssemblyOptions()', (t) => { + const uppy = new Core({ autoProceed: false }) + + uppy.use(Transloadit, { + getAssemblyOptions: (file) => { + t.equal(file.name, 'testfile') + return { + params: '{"some":"json"}' + } + } + }) + + const data = Buffer.alloc(4000) + data.size = data.byteLength + uppy.addFile({ + name: 'testfile', + data + }).then(() => { + uppy.upload().then(t.fail, (err) => { + t.ok(/The `params\.auth\.key` option is required/.test(err.message), 'should reject invalid dynamic params') + t.end() + }) + }, t.fail) +})