frontend: Store embedded bot data in bot_data.js.

In specific, this stores config_data and service_name
for embedded bots.
This commit is contained in:
Robert Hönig
2018-01-30 19:24:18 +01:00
committed by Tim Abbott
parent 48b2e4eb66
commit 044b0beeab
2 changed files with 20 additions and 1 deletions

View File

@@ -44,6 +44,15 @@ assert.equal(bot_data.get(314).full_name, 'Outgoing webhook');
extra: 'Not in data',
};
var test_embedded_bot = {
email: 'embedded-bot@zulip.com',
user_id: 143,
avatar_url: '',
full_name: 'Embedded bot 1',
services: [{config_data: {key: '12345678'},
service_name: "giphy"}],
};
(function test_add() {
bot_data.add(test_bot);
@@ -73,6 +82,15 @@ assert.equal(bot_data.get(314).full_name, 'Outgoing webhook');
assert.equal('http://baz.com', services[0].base_url);
}());
(function test_embedded_bot_update() {
bot_data.add(test_embedded_bot);
var bot_id = 143;
var services = bot_data.get_services(bot_id);
assert.equal('12345678', services[0].config_data.key);
bot_data.update(bot_id, {services: [{config_data: {key: '87654321'}}]});
assert.equal('87654321', services[0].config_data.key);
}());
(function test_remove() {
var bot;

View File

@@ -6,7 +6,8 @@ var bot_data = (function () {
'default_events_register_stream', 'default_sending_stream',
'email', 'full_name', 'is_active', 'owner', 'bot_type', 'user_id'];
var services = {};
var services_fields = ['base_url', 'interface'];
var services_fields = ['base_url', 'interface',
'config_data', 'service_name'];
var send_change_event = _.debounce(function () {
$(document).trigger('zulip.bot_data_changed');