|
| 1 | +const assert = require('chai').assert; |
| 2 | +const sinon = require('sinon'); |
| 3 | +const fs = require('graceful-fs'); |
| 4 | + |
| 5 | +let specHelper = require('../spec-helper'); |
| 6 | +let EmojiAdd = require('../../lib/emoji-add'); |
| 7 | +let EmojiAdminList = require('../../lib/emoji-admin-list'); |
| 8 | +let SlackClient = require('../../lib/slack-client'); |
| 9 | +let FileUtils = require('../../lib/util/file-utils'); |
| 10 | +let download = require('../../emojme-download').download; |
| 11 | + |
| 12 | +let sandbox; |
| 13 | +let getStub; |
| 14 | +let saveDataStub; |
| 15 | + |
| 16 | +beforeEach(() => { |
| 17 | + sandbox = sinon.createSandbox(); |
| 18 | +}); |
| 19 | + |
| 20 | +afterEach(() => { |
| 21 | + sandbox.restore(); |
| 22 | +}); |
| 23 | + |
| 24 | +describe('download', () => { |
| 25 | + let subdomains = ['subdomain1', 'subdomain2']; |
| 26 | + let tokens = ['token1', 'token2']; |
| 27 | + |
| 28 | + beforeEach(() => { |
| 29 | + getStub = sandbox.stub(EmojiAdminList.prototype, 'get'); |
| 30 | + getStub.resolves( |
| 31 | + specHelper.testEmojiList(10) |
| 32 | + ); |
| 33 | + |
| 34 | + // prevent writing during tests |
| 35 | + sandbox.stub(FileUtils, 'saveData').callsFake((arg1, arg2) => Promise.resolve(arg2)); |
| 36 | + sandbox.stub(FileUtils, 'mkdirp'); |
| 37 | + }); |
| 38 | + |
| 39 | + it('downloads emojiList when save is not set', () => { |
| 40 | + return download(subdomains, tokens).then(results => { |
| 41 | + assert.deepEqual(results.subdomain1.emojiList, specHelper.testEmojiList(10)); |
| 42 | + assert.deepEqual(results.subdomain2.emojiList, specHelper.testEmojiList(10)); |
| 43 | + |
| 44 | + assert.deepEqual(results.subdomain1.saveResults, undefined); |
| 45 | + assert.deepEqual(results.subdomain2.saveResults, undefined); |
| 46 | + }); |
| 47 | + }); |
| 48 | + |
| 49 | + it('downloads emoji for specified users when save is set', () => { |
| 50 | + return download(subdomains, tokens, {save: ['test-user-1', 'test-user-0']}).then(results => { |
| 51 | + assert.deepEqual(results.subdomain1.emojiList, specHelper.testEmojiList(10)); |
| 52 | + assert.deepEqual(results.subdomain2.emojiList, specHelper.testEmojiList(10)); |
| 53 | + |
| 54 | + assert.equal(results.subdomain1.saveResults.length, 10); |
| 55 | + assert.equal(results.subdomain2.saveResults.length, 10); |
| 56 | + }); |
| 57 | + }); |
| 58 | +}); |
0 commit comments