mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	This commit add $.create(), which allows you to create a
jQuery object that just has a name to identify it, as opposed
to some selector or HTML fragment.  It's useful for things that
are really used as stubs.
This also fixes a bunch of the existing tests to use $.create().
Before this fix, you could actually just do $('some-stub'), but
now we enforce that the input to $() looks like a valid selector
or HTML fragment, and we make some exceptions for things like
window-stub and document-stub.
		
	
		
			
				
	
	
		
			96 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
set_global("page_params", {
 | 
						|
    realm_uri: "https://chat.example.com",
 | 
						|
});
 | 
						|
 | 
						|
set_global("avatar", {});
 | 
						|
 | 
						|
add_dependencies({
 | 
						|
    bot_data: 'js/bot_data.js',
 | 
						|
    upload_widget: 'js/upload_widget.js',
 | 
						|
});
 | 
						|
 | 
						|
set_global('$', global.make_zjquery());
 | 
						|
set_global('document', 'document-stub');
 | 
						|
 | 
						|
var settings_bots = require("js/settings_bots.js");
 | 
						|
 | 
						|
(function test_generate_zuliprc_uri() {
 | 
						|
    var bot = {
 | 
						|
        email: "error-bot@zulip.org",
 | 
						|
        api_key: "QadL788EkiottHmukyhHgePUFHREiu8b",
 | 
						|
    };
 | 
						|
    var uri = settings_bots.generate_zuliprc_uri(bot.email, bot.api_key);
 | 
						|
    var expected = "data:application/octet-stream;charset=utf-8," + encodeURIComponent(
 | 
						|
        "[api]\nemail=error-bot@zulip.org\n" +
 | 
						|
        "key=QadL788EkiottHmukyhHgePUFHREiu8b\n" +
 | 
						|
        "site=https://chat.example.com\n"
 | 
						|
    );
 | 
						|
 | 
						|
    assert.equal(uri, expected);
 | 
						|
}());
 | 
						|
 | 
						|
(function test_generate_zuliprc_content() {
 | 
						|
    var user = {
 | 
						|
        email: "admin12@chatting.net",
 | 
						|
        api_key: "nSlA0mUm7G42LP85lMv7syqFTzDE2q34",
 | 
						|
    };
 | 
						|
    var content = settings_bots.generate_zuliprc_content(user.email, user.api_key);
 | 
						|
    var expected = "[api]\nemail=admin12@chatting.net\n" +
 | 
						|
                   "key=nSlA0mUm7G42LP85lMv7syqFTzDE2q34\n" +
 | 
						|
                   "site=https://chat.example.com\n";
 | 
						|
 | 
						|
    assert.equal(content, expected);
 | 
						|
}());
 | 
						|
 | 
						|
(function test_generate_flaskbotrc_content() {
 | 
						|
    var user = {
 | 
						|
        email: "vabstest-bot@zulip.com",
 | 
						|
        api_key: "nSlA0mUm7G42LP85lMv7syqFTzDE2q34",
 | 
						|
    };
 | 
						|
    var content = settings_bots.generate_flaskbotrc_content(user.email, user.api_key);
 | 
						|
    var expected = "[vabstest]\nemail=vabstest-bot@zulip.com\n" +
 | 
						|
                   "key=nSlA0mUm7G42LP85lMv7syqFTzDE2q34\n" +
 | 
						|
                   "site=https://chat.example.com\n";
 | 
						|
 | 
						|
    assert.equal(content, expected);
 | 
						|
}());
 | 
						|
 | 
						|
function test_create_bot_type_input_box_toggle(f) {
 | 
						|
    var create_payload_url = $('#create_payload_url');
 | 
						|
    var payload_url_inputbox = $('#payload_url_inputbox');
 | 
						|
    var OUTGOING_WEBHOOK_BOT_TYPE = '3';
 | 
						|
    var GENERIC_BOT_TYPE = '1';
 | 
						|
 | 
						|
    $('#create_bot_type :selected').val(OUTGOING_WEBHOOK_BOT_TYPE);
 | 
						|
    f.apply();
 | 
						|
    assert(create_payload_url.hasClass('required'));
 | 
						|
    assert(payload_url_inputbox.visible());
 | 
						|
 | 
						|
    $('#create_bot_type :selected').val(GENERIC_BOT_TYPE);
 | 
						|
    f.apply();
 | 
						|
    assert(!(create_payload_url.hasClass('required')));
 | 
						|
    assert(!payload_url_inputbox.visible());
 | 
						|
}
 | 
						|
 | 
						|
(function test_set_up() {
 | 
						|
    // bunch of stubs
 | 
						|
 | 
						|
    $.validator = { addMethod: function () {} };
 | 
						|
 | 
						|
    $("#get_api_key_box form").ajaxForm = function () {};
 | 
						|
 | 
						|
    $("#create_bot_form").validate = function () {};
 | 
						|
 | 
						|
    $('#create_bot_type').on = function (action, f) {
 | 
						|
        if (action === 'change') {
 | 
						|
            test_create_bot_type_input_box_toggle(f);
 | 
						|
        }
 | 
						|
    };
 | 
						|
 | 
						|
    avatar.build_bot_create_widget = function () {};
 | 
						|
    avatar.build_bot_edit_widget = function () {};
 | 
						|
 | 
						|
    settings_bots.set_up();
 | 
						|
}());
 | 
						|
 |