From c58d4338a13737eb7c50d2f33f150afbe8bbb2b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9e=20Kooi?= Date: Mon, 10 Jul 2017 20:21:57 +0200 Subject: [PATCH] Transloadit: Add test for params validation after `getAssemblyOptions` --- test/unit/Transloadit.spec.js | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) 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) +})