diff --git a/test/unit/util/code-payload.test.js b/test/unit/util/code-payload.test.js
new file mode 100644
index 0000000000000000000000000000000000000000..2bc0675474235cfea89f5bcb3bd5e0631a5035b3
--- /dev/null
+++ b/test/unit/util/code-payload.test.js
@@ -0,0 +1,19 @@
+jest.mock('../../../src/lib/backpack/block-to-image', () => () => Promise.resolve('block-image'));
+jest.mock('../../../src/lib/backpack/jpeg-thumbnail', () => () => Promise.resolve('thumbnail'));
+
+import codePayload from '../../../src/lib/backpack/code-payload';
+import {Base64} from 'js-base64';
+
+describe('codePayload', () => {
+    test('base64 encodes the blocks as json', () => {
+        const blocks = '☁︎❤️🐻';
+        const payload = codePayload({
+            blockObjects: blocks
+        });
+        return payload.then(p => {
+            expect(
+                JSON.parse(Base64.decode(p.body))
+            ).toEqual(blocks);
+        });
+    });
+});