mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	These changes were extracted by tabbott from the original commit to merge now because they have been reviewed as safe.
		
			
				
	
	
		
			115 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			115 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
var assert = require('assert');
 | 
						|
 | 
						|
add_dependencies({
 | 
						|
    util: 'js/util.js',
 | 
						|
    tutorial: 'js/tutorial.js',
 | 
						|
});
 | 
						|
 | 
						|
var noop = function () {};
 | 
						|
 | 
						|
set_global('document', {});
 | 
						|
set_global('window', {
 | 
						|
    addEventListener: noop,
 | 
						|
});
 | 
						|
 | 
						|
global.stub_out_jquery();
 | 
						|
 | 
						|
set_global('blueslip', {});
 | 
						|
set_global('channel', {});
 | 
						|
set_global('home_msg_list', {
 | 
						|
    select_id: noop,
 | 
						|
    selected_id: function () {return 1;},
 | 
						|
});
 | 
						|
set_global('page_params', {test_suite: false});
 | 
						|
set_global('reload', {
 | 
						|
    is_in_progress: function () {return false;},
 | 
						|
});
 | 
						|
 | 
						|
set_global('echo', {
 | 
						|
    process_from_server: function (messages) {
 | 
						|
        return messages;
 | 
						|
    },
 | 
						|
    set_realm_filters: noop,
 | 
						|
});
 | 
						|
 | 
						|
var server_events = require('js/server_events.js');
 | 
						|
 | 
						|
// Start blueslip tests here
 | 
						|
 | 
						|
var setup = function (results) {
 | 
						|
    server_events.home_view_loaded();
 | 
						|
    set_global('message_store', {
 | 
						|
        insert_new_messages: function () {
 | 
						|
            throw Error('insert error');
 | 
						|
        },
 | 
						|
        update_messages: function () {
 | 
						|
            throw Error('update error');
 | 
						|
        },
 | 
						|
    });
 | 
						|
    set_global('subs', {
 | 
						|
        update_subscription_properties: function () {
 | 
						|
            throw Error('subs update error');
 | 
						|
        },
 | 
						|
    });
 | 
						|
    global.blueslip.error = function (msg, more_info, stack) {
 | 
						|
        results.msg = msg;
 | 
						|
        results.more_info = more_info;
 | 
						|
        results.stack = stack;
 | 
						|
    };
 | 
						|
    global.blueslip.exception_msg = function (ex) {
 | 
						|
        return ex.message;
 | 
						|
    };
 | 
						|
};
 | 
						|
 | 
						|
(function test_event_dispatch_error() {
 | 
						|
    var results = {};
 | 
						|
    setup(results);
 | 
						|
 | 
						|
    var data = {events: [{type: 'stream', op: 'update', id: 1, other: 'thing'}]};
 | 
						|
    global.channel.get = function (options) {
 | 
						|
        options.success(data);
 | 
						|
    };
 | 
						|
 | 
						|
    server_events.restart_get_events();
 | 
						|
 | 
						|
    assert.equal(results.msg, 'Failed to process an event\n' +
 | 
						|
                              'subs update error');
 | 
						|
    assert.equal(results.more_info.event.type , 'stream');
 | 
						|
    assert.equal(results.more_info.event.op , 'update');
 | 
						|
    assert.equal(results.more_info.event.id , 1);
 | 
						|
    assert.equal(results.more_info.other , undefined);
 | 
						|
}());
 | 
						|
 | 
						|
 | 
						|
(function test_event_new_message_error() {
 | 
						|
    var results = {};
 | 
						|
    setup(results);
 | 
						|
 | 
						|
    var data = {events: [{type: 'message', id: 1, other: 'thing', message: {}}]};
 | 
						|
    global.channel.get = function (options) {
 | 
						|
        options.success(data);
 | 
						|
    };
 | 
						|
 | 
						|
    server_events.restart_get_events();
 | 
						|
 | 
						|
    assert.equal(results.msg, 'Failed to insert new messages\n' +
 | 
						|
                               'insert error');
 | 
						|
    assert.equal(results.more_info, undefined);
 | 
						|
}());
 | 
						|
 | 
						|
(function test_event_edit_message_error() {
 | 
						|
    var results = {};
 | 
						|
    setup(results);
 | 
						|
 | 
						|
    var data = {events: [{type: 'update_message', id: 1, other: 'thing'}]};
 | 
						|
    global.channel.get = function (options) {
 | 
						|
        options.success(data);
 | 
						|
    };
 | 
						|
 | 
						|
    server_events.restart_get_events();
 | 
						|
 | 
						|
    assert.equal(results.msg, 'Failed to update messages\n' +
 | 
						|
                              'update error');
 | 
						|
    assert.equal(results.more_info, undefined);
 | 
						|
}());
 |