support providing multiple secrets, always encrypt with first, attempt decryption...
[squeep-mystery-box] / test / lib / common.js
1 /* eslint-env mocha */
2 'use strict';
3
4 const assert = require('assert');
5 const common = require('../../lib/common');
6
7 describe('Common', function () {
8
9 describe('fileScope', function () {
10 it('names a file path', function () {
11 const filename = 'lib/foo/bar.js';
12 const result = common.fileScope(filename)('baz');
13 assert.strictEqual(result, 'bar:baz');
14 });
15 it('names an index path', function () {
16 const filename = 'lib/foo/index.js';
17 const result = common.fileScope(filename)('baz');
18 assert.strictEqual(result, 'foo:baz');
19 });
20 }); // fileScope
21
22 describe('ensureArray', function () {
23 it('returns empty array for no data', function () {
24 const result = common.ensureArray();
25 assert.deepStrictEqual(result, []);
26 });
27 it('returns same array passed in', function () {
28 const expected = [1, 2, 3, 'foo'];
29 const result = common.ensureArray(expected);
30 assert.deepStrictEqual(result, expected);
31 });
32 it('returns array containing non-array data', function () {
33 const data = 'bar';
34 const result = common.ensureArray(data);
35 assert.deepStrictEqual(result, [data]);
36 });
37 }); // ensureArray
38
39 }); // Common