From aebfdaa8edab97026331c33cc6cd267d123df75d Mon Sep 17 00:00:00 2001 From: Steve Howell Date: Mon, 6 Nov 2017 07:47:19 -0800 Subject: [PATCH] refactor: Use early-return in extract_people_from_message(). --- frontend_tests/node_tests/people.js | 13 +++++++++++++ static/js/people.js | 29 ++++++++++++++++------------- 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/frontend_tests/node_tests/people.js b/frontend_tests/node_tests/people.js index 4a3cf3c04c..b5d2d1585f 100644 --- a/frontend_tests/node_tests/people.js +++ b/frontend_tests/node_tests/people.js @@ -431,6 +431,12 @@ initialize(); initialize(); (function test_extract_people_from_message() { + var unknown_user = { + email: 'unknown@example.com', + user_id: 500, + unknown_local_echo_user: true, + }; + var maria = { email: 'athens@example.com', user_id: 452, @@ -446,6 +452,13 @@ initialize(); assert(!people.is_known_user_id(maria.user_id)); people.extract_people_from_message(message); assert(people.is_known_user_id(maria.user_id)); + + // Get line coverage + message = { + type: 'private', + display_recipient: [unknown_user], + }; + people.extract_people_from_message(message); }()); initialize(); diff --git a/static/js/people.js b/static/js/people.js index 184362a9cd..671fe451a0 100644 --- a/static/js/people.js +++ b/static/js/people.js @@ -744,20 +744,23 @@ exports.extract_people_from_message = function (message) { // Add new people involved in this message to the people list _.each(involved_people, function (person) { - if (!person.unknown_local_echo_user) { - - var user_id = person.user_id || person.id; - - if (!people_by_user_id_dict.has(user_id)) { - exports.add({ - email: person.email, - user_id: user_id, - full_name: person.full_name, - is_admin: person.is_realm_admin || false, - is_bot: person.is_bot || false, - }); - } + if (person.unknown_local_echo_user) { + return; } + + var user_id = person.user_id || person.id; + + if (people_by_user_id_dict.has(user_id)) { + return; + } + + exports.add({ + email: person.email, + user_id: user_id, + full_name: person.full_name, + is_admin: person.is_realm_admin || false, + is_bot: person.is_bot || false, + }); }); };