test_narrow: Use tuple unpacking to get messages.

This is a bit more rigorous than just
dereferencing the first element of
a list comprehension, as it will give a
ValueError if more matches are found than
the test was expecting.
This commit is contained in:
Steve Howell
2020-03-19 16:44:55 +00:00
committed by Tim Abbott
parent ef772ee12f
commit b5cba4aafe

View File

@@ -1672,7 +1672,10 @@ class GetOldMessagesTest(ZulipTestCase):
self.assertEqual(link_search_result['messages'][0]['match_content'], self.assertEqual(link_search_result['messages'][0]['match_content'],
'<p><a href="https://google.com" target="_blank" title="https://google.com">https://<span class="highlight">google.com</span></a></p>') '<p><a href="https://google.com" target="_blank" title="https://google.com">https://<span class="highlight">google.com</span></a></p>')
meeting_message = [m for m in messages if m[TOPIC_NAME] == 'meetings'][0] (meeting_message,) = [
m for m in messages
if m[TOPIC_NAME] == 'meetings'
]
self.assertEqual( self.assertEqual(
meeting_message[MATCH_TOPIC], meeting_message[MATCH_TOPIC],
'meetings') 'meetings')
@@ -1681,12 +1684,15 @@ class GetOldMessagesTest(ZulipTestCase):
'<p>discuss <span class="highlight">lunch</span> after ' + '<p>discuss <span class="highlight">lunch</span> after ' +
'<span class="highlight">lunch</span></p>') '<span class="highlight">lunch</span></p>')
meeting_message = [m for m in messages if m[TOPIC_NAME] == 'lunch plans'][0] (lunch_message,) = [
m for m in messages
if m[TOPIC_NAME] == 'lunch plans'
]
self.assertEqual( self.assertEqual(
meeting_message[MATCH_TOPIC], lunch_message[MATCH_TOPIC],
'<span class="highlight">lunch</span> plans') '<span class="highlight">lunch</span> plans')
self.assertEqual( self.assertEqual(
meeting_message['match_content'], lunch_message['match_content'],
'<p>I am hungry!</p>') '<p>I am hungry!</p>')
# Should not crash when multiple search operands are present # Should not crash when multiple search operands are present
@@ -1716,7 +1722,9 @@ class GetOldMessagesTest(ZulipTestCase):
self.assertEqual(len(result['messages']), 4) self.assertEqual(len(result['messages']), 4)
messages = result['messages'] messages = result['messages']
japanese_message = [m for m in messages if m[TOPIC_NAME] == u'日本'][-1] japanese_message = [
m for m in messages
if m[TOPIC_NAME] == u'日本'][-1]
self.assertEqual( self.assertEqual(
japanese_message[MATCH_TOPIC], japanese_message[MATCH_TOPIC],
u'<span class="highlight">日本</span>') u'<span class="highlight">日本</span>')
@@ -1725,7 +1733,10 @@ class GetOldMessagesTest(ZulipTestCase):
u'<p>昨日、<span class="highlight">日本</span>' + u'<p>昨日、<span class="highlight">日本</span>' +
u' のお菓子を送りました。</p>') u' のお菓子を送りました。</p>')
english_message = [m for m in messages if m[TOPIC_NAME] == 'english'][0] (english_message,) = [
m for m in messages
if m[TOPIC_NAME] == 'english'
]
self.assertEqual( self.assertEqual(
english_message[MATCH_TOPIC], english_message[MATCH_TOPIC],
'english') 'english')
@@ -2942,12 +2953,15 @@ WHERE user_profile_id = {hamlet_id} AND (content ILIKE '%jumping%' OR subject IL
self.assertEqual(len(result['messages']), 1) self.assertEqual(len(result['messages']), 1)
messages = result['messages'] messages = result['messages']
meeting_message = [m for m in messages if m[TOPIC_NAME] == 'say hello'][0] (hello_message,) = [
m for m in messages
if m[TOPIC_NAME] == 'say hello'
]
self.assertEqual( self.assertEqual(
meeting_message[MATCH_TOPIC], hello_message[MATCH_TOPIC],
'say hello') 'say hello')
self.assertEqual( self.assertEqual(
meeting_message['match_content'], hello_message['match_content'],
('<p>How are you doing, <span class="user-mention" data-user-id="%s">' + ('<p>How are you doing, <span class="user-mention" data-user-id="%s">' +
'@<span class="highlight">Othello</span>, the Moor of Venice</span>?</p>') % ( '@<span class="highlight">Othello</span>, the Moor of Venice</span>?</p>') % (
othello.id)) othello.id))