mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-03 21:43:21 +00:00 
			
		
		
		
	tests: Extract node_tests/people_errors.js.
This is mostly a pure extraction, but we needed to duplicate a bit of setup from people.js, and I added an assertion for warning about "No user_id provided".
This commit is contained in:
		@@ -556,91 +556,6 @@ initialize();
 | 
			
		||||
    );
 | 
			
		||||
}());
 | 
			
		||||
 | 
			
		||||
(function test_blueslip() {
 | 
			
		||||
    var unknown_email = "alicebobfred@example.com";
 | 
			
		||||
 | 
			
		||||
    global.blueslip.debug = function (msg) {
 | 
			
		||||
        assert.equal(msg, 'User email operand unknown: ' + unknown_email);
 | 
			
		||||
    };
 | 
			
		||||
    people.id_matches_email_operand(42, unknown_email);
 | 
			
		||||
 | 
			
		||||
    global.blueslip.error = function (msg) {
 | 
			
		||||
        assert.equal(msg, 'Unknown email for get_user_id: ' + unknown_email);
 | 
			
		||||
    };
 | 
			
		||||
    people.get_user_id(unknown_email);
 | 
			
		||||
 | 
			
		||||
    var person = {
 | 
			
		||||
        email: 'person@example.com',
 | 
			
		||||
        user_id: undefined,
 | 
			
		||||
        full_name: 'Person Person',
 | 
			
		||||
    };
 | 
			
		||||
    people.add(person);
 | 
			
		||||
 | 
			
		||||
    global.blueslip.error = function (msg) {
 | 
			
		||||
        assert.equal(msg, 'No user_id found for person@example.com');
 | 
			
		||||
    };
 | 
			
		||||
    var user_id = people.get_user_id('person@example.com');
 | 
			
		||||
    assert.equal(user_id, undefined);
 | 
			
		||||
 | 
			
		||||
    global.blueslip.error = function (msg) {
 | 
			
		||||
        assert.equal(msg, 'Unknown user ids: 1,2');
 | 
			
		||||
    };
 | 
			
		||||
    people.user_ids_string_to_emails_string('1,2');
 | 
			
		||||
 | 
			
		||||
    global.blueslip.warn = function (msg) {
 | 
			
		||||
        assert.equal(msg, 'Unknown emails: ' + unknown_email);
 | 
			
		||||
    };
 | 
			
		||||
    people.email_list_to_user_ids_string(unknown_email);
 | 
			
		||||
 | 
			
		||||
    var message = {
 | 
			
		||||
        type: 'private',
 | 
			
		||||
        display_recipient: [],
 | 
			
		||||
        sender_id: me.user_id,
 | 
			
		||||
    };
 | 
			
		||||
    global.blueslip.error = function (msg) {
 | 
			
		||||
        assert.equal(msg, 'Empty recipient list in message');
 | 
			
		||||
    };
 | 
			
		||||
    people.pm_with_user_ids(message);
 | 
			
		||||
    people.group_pm_with_user_ids(message);
 | 
			
		||||
 | 
			
		||||
    var charles = {
 | 
			
		||||
        email: 'charles@example.com',
 | 
			
		||||
        user_id: 451,
 | 
			
		||||
        full_name: 'Charles Dickens',
 | 
			
		||||
        avatar_url: 'charles.com/foo.png',
 | 
			
		||||
    };
 | 
			
		||||
    var maria = {
 | 
			
		||||
        email: 'athens@example.com',
 | 
			
		||||
        user_id: 452,
 | 
			
		||||
        full_name: 'Maria Athens',
 | 
			
		||||
    };
 | 
			
		||||
    people.add(charles);
 | 
			
		||||
    people.add(maria);
 | 
			
		||||
 | 
			
		||||
    message = {
 | 
			
		||||
        type: 'private',
 | 
			
		||||
        display_recipient: [
 | 
			
		||||
            {id: maria.user_id},
 | 
			
		||||
            {id: 42},
 | 
			
		||||
            {user_id: charles.user_id},
 | 
			
		||||
        ],
 | 
			
		||||
        sender_id: charles.user_id,
 | 
			
		||||
    };
 | 
			
		||||
    global.blueslip.error = function (msg) {
 | 
			
		||||
        assert.equal(msg, 'Unknown user id in message: 42');
 | 
			
		||||
    };
 | 
			
		||||
    var reply_to = people.pm_reply_to(message);
 | 
			
		||||
    assert(reply_to.indexOf('?') > -1);
 | 
			
		||||
 | 
			
		||||
    people.pm_with_user_ids = function () { return [42]; };
 | 
			
		||||
    people.get_person_from_user_id = function () { return undefined; };
 | 
			
		||||
    global.blueslip.error = function (msg) {
 | 
			
		||||
        assert.equal(msg, 'Unknown people in message');
 | 
			
		||||
    };
 | 
			
		||||
    var uri = people.pm_with_url({});
 | 
			
		||||
    assert.equal(uri.indexOf('unk'), uri.length - 3);
 | 
			
		||||
}());
 | 
			
		||||
 | 
			
		||||
(function test_initialize() {
 | 
			
		||||
    people.init();
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										107
									
								
								frontend_tests/node_tests/people_errors.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										107
									
								
								frontend_tests/node_tests/people_errors.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,107 @@
 | 
			
		||||
zrequire('people');
 | 
			
		||||
 | 
			
		||||
set_global('blueslip', {});
 | 
			
		||||
 | 
			
		||||
var me = {
 | 
			
		||||
    email: 'me@example.com',
 | 
			
		||||
    user_id: 30,
 | 
			
		||||
    full_name: 'Me Myself',
 | 
			
		||||
    timezone: 'US/Pacific',
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
people.init();
 | 
			
		||||
people.add(me);
 | 
			
		||||
people.initialize_current_user(me.user_id);
 | 
			
		||||
 | 
			
		||||
(function test_blueslip() {
 | 
			
		||||
    var unknown_email = "alicebobfred@example.com";
 | 
			
		||||
 | 
			
		||||
    global.blueslip.debug = function (msg) {
 | 
			
		||||
        assert.equal(msg, 'User email operand unknown: ' + unknown_email);
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    var warning;
 | 
			
		||||
    global.blueslip.warn = function (w) {
 | 
			
		||||
        warning = w;
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    people.id_matches_email_operand(42, unknown_email);
 | 
			
		||||
 | 
			
		||||
    global.blueslip.error = function (msg) {
 | 
			
		||||
        assert.equal(msg, 'Unknown email for get_user_id: ' + unknown_email);
 | 
			
		||||
    };
 | 
			
		||||
    people.get_user_id(unknown_email);
 | 
			
		||||
 | 
			
		||||
    var person = {
 | 
			
		||||
        email: 'person@example.com',
 | 
			
		||||
        user_id: undefined,
 | 
			
		||||
        full_name: 'Person Person',
 | 
			
		||||
    };
 | 
			
		||||
    people.add(person);
 | 
			
		||||
    assert.equal(warning, 'No user_id provided for person@example.com');
 | 
			
		||||
 | 
			
		||||
    global.blueslip.error = function (msg) {
 | 
			
		||||
        assert.equal(msg, 'No user_id found for person@example.com');
 | 
			
		||||
    };
 | 
			
		||||
    var user_id = people.get_user_id('person@example.com');
 | 
			
		||||
    assert.equal(user_id, undefined);
 | 
			
		||||
 | 
			
		||||
    global.blueslip.error = function (msg) {
 | 
			
		||||
        assert.equal(msg, 'Unknown user ids: 1,2');
 | 
			
		||||
    };
 | 
			
		||||
    people.user_ids_string_to_emails_string('1,2');
 | 
			
		||||
 | 
			
		||||
    global.blueslip.warn = function (msg) {
 | 
			
		||||
        assert.equal(msg, 'Unknown emails: ' + unknown_email);
 | 
			
		||||
    };
 | 
			
		||||
    people.email_list_to_user_ids_string(unknown_email);
 | 
			
		||||
 | 
			
		||||
    var message = {
 | 
			
		||||
        type: 'private',
 | 
			
		||||
        display_recipient: [],
 | 
			
		||||
        sender_id: me.user_id,
 | 
			
		||||
    };
 | 
			
		||||
    global.blueslip.error = function (msg) {
 | 
			
		||||
        assert.equal(msg, 'Empty recipient list in message');
 | 
			
		||||
    };
 | 
			
		||||
    people.pm_with_user_ids(message);
 | 
			
		||||
    people.group_pm_with_user_ids(message);
 | 
			
		||||
 | 
			
		||||
    var charles = {
 | 
			
		||||
        email: 'charles@example.com',
 | 
			
		||||
        user_id: 451,
 | 
			
		||||
        full_name: 'Charles Dickens',
 | 
			
		||||
        avatar_url: 'charles.com/foo.png',
 | 
			
		||||
    };
 | 
			
		||||
    var maria = {
 | 
			
		||||
        email: 'athens@example.com',
 | 
			
		||||
        user_id: 452,
 | 
			
		||||
        full_name: 'Maria Athens',
 | 
			
		||||
    };
 | 
			
		||||
    people.add(charles);
 | 
			
		||||
    people.add(maria);
 | 
			
		||||
 | 
			
		||||
    message = {
 | 
			
		||||
        type: 'private',
 | 
			
		||||
        display_recipient: [
 | 
			
		||||
            {id: maria.user_id},
 | 
			
		||||
            {id: 42},
 | 
			
		||||
            {user_id: charles.user_id},
 | 
			
		||||
        ],
 | 
			
		||||
        sender_id: charles.user_id,
 | 
			
		||||
    };
 | 
			
		||||
    global.blueslip.error = function (msg) {
 | 
			
		||||
        assert.equal(msg, 'Unknown user id in message: 42');
 | 
			
		||||
    };
 | 
			
		||||
    var reply_to = people.pm_reply_to(message);
 | 
			
		||||
    assert(reply_to.indexOf('?') > -1);
 | 
			
		||||
 | 
			
		||||
    people.pm_with_user_ids = function () { return [42]; };
 | 
			
		||||
    people.get_person_from_user_id = function () { return undefined; };
 | 
			
		||||
    global.blueslip.error = function (msg) {
 | 
			
		||||
        assert.equal(msg, 'Unknown people in message');
 | 
			
		||||
    };
 | 
			
		||||
    var uri = people.pm_with_url({});
 | 
			
		||||
    assert.equal(uri.indexOf('unk'), uri.length - 3);
 | 
			
		||||
}());
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user