106 строки
3.4 KiB
JavaScript
106 строки
3.4 KiB
JavaScript
// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved.
|
|
// See License.txt for license information.
|
|
|
|
import assert from 'assert';
|
|
import TestHelper from './test_helper.jsx';
|
|
|
|
const fs = require('fs');
|
|
|
|
describe('Client.Emoji', function() {
|
|
this.timeout(100000);
|
|
|
|
const testGifFileName = 'testEmoji.gif';
|
|
|
|
before(function() {
|
|
// write a temporary file so that we have something to upload for testing
|
|
const buffer = new Buffer('R0lGODlhAQABAIABAP///wAAACwAAAAAAQABAAACAkQBADs=', 'base64');
|
|
const testGif = fs.openSync(testGifFileName, 'w+');
|
|
fs.writeFileSync(testGif, buffer);
|
|
});
|
|
|
|
after(function() {
|
|
fs.unlinkSync(testGifFileName);
|
|
});
|
|
|
|
it('addEmoji', function(done) {
|
|
TestHelper.initBasic(() => {
|
|
const name = TestHelper.generateId();
|
|
|
|
TestHelper.basicClient().addEmoji(
|
|
{creator_id: TestHelper.basicUser().id, name},
|
|
fs.createReadStream(testGifFileName),
|
|
function(data) {
|
|
assert.equal(data.name, name);
|
|
assert.notEqual(data.id, null);
|
|
|
|
TestHelper.basicClient().deleteEmoji(data.id);
|
|
done();
|
|
},
|
|
function(err) {
|
|
done(new Error(err.message));
|
|
}
|
|
);
|
|
});
|
|
});
|
|
|
|
it('deleteEmoji', function(done) {
|
|
TestHelper.initBasic(() => {
|
|
TestHelper.basicClient().addEmoji(
|
|
{creator_id: TestHelper.basicUser().id, name: TestHelper.generateId()},
|
|
fs.createReadStream(testGifFileName),
|
|
function(data) {
|
|
TestHelper.basicClient().deleteEmoji(
|
|
data.id,
|
|
function() {
|
|
done();
|
|
},
|
|
function(err) {
|
|
done(new Error(err.message));
|
|
}
|
|
);
|
|
},
|
|
function(err) {
|
|
done(new Error(err.message));
|
|
}
|
|
);
|
|
});
|
|
});
|
|
|
|
it('listEmoji', function(done) {
|
|
TestHelper.initBasic(() => {
|
|
const name = TestHelper.generateId();
|
|
TestHelper.basicClient().addEmoji(
|
|
{creator_id: TestHelper.basicUser().id, name},
|
|
fs.createReadStream(testGifFileName),
|
|
function() {
|
|
TestHelper.basicClient().listEmoji(
|
|
function(data) {
|
|
assert(data.length > 0, true);
|
|
|
|
let found = false;
|
|
for (const emoji of data) {
|
|
if (emoji.name === name) {
|
|
found = true;
|
|
break;
|
|
}
|
|
}
|
|
|
|
if (found) {
|
|
done();
|
|
} else {
|
|
done(new Error('test emoji wasn\'t returned'));
|
|
}
|
|
},
|
|
function(err) {
|
|
done(new Error(err.message));
|
|
}
|
|
);
|
|
},
|
|
function(err) {
|
|
done(new Error(err.message));
|
|
}
|
|
);
|
|
});
|
|
});
|
|
});
|