Example #1
0
 def test_new_stream_link(self, mock_django_timezone: mock.MagicMock) -> None:
     cutoff = datetime.datetime(year=2017, month=11, day=1)
     mock_django_timezone.return_value = datetime.datetime(year=2017, month=11, day=5)
     cordelia = self.example_user('cordelia')
     stream_id = create_stream_if_needed(cordelia.realm, 'New stream')[0].id
     new_stream = gather_new_streams(cordelia, cutoff)[1]
     expected_html = "<a href='http://zulip.testserver/#narrow/stream/{stream_id}-New-stream'>New stream</a>".format(stream_id=stream_id)
     self.assertIn(expected_html, new_stream['html'])
Example #2
0
 def test_new_stream_link(self, mock_django_timezone: mock.MagicMock) -> None:
     cutoff = datetime.datetime(year=2017, month=11, day=1)
     mock_django_timezone.return_value = datetime.datetime(year=2017, month=11, day=5)
     cordelia = self.example_user('cordelia')
     stream_id = create_stream_if_needed(cordelia.realm, 'New stream')[0].id
     new_stream = gather_new_streams(cordelia, cutoff)[1]
     expected_html = "<a href='http://zulip.testserver/#narrow/stream/{stream_id}-New-stream'>New stream</a>".format(stream_id=stream_id)
     self.assertIn(expected_html, new_stream['html'])
Example #3
0
    def test_new_stream_link(self) -> None:
        Stream.objects.all().delete()
        cutoff = timezone_now() - datetime.timedelta(days=5)
        cordelia = self.example_user('cordelia')
        stream = create_stream_if_needed(cordelia.realm, 'New stream')[0]
        stream.date_created = timezone_now()
        stream.save()

        realm = cordelia.realm

        recent_streams = get_recent_streams(realm, cutoff)
        stream_count, stream_info = gather_new_streams(realm,
                                                       recent_streams,
                                                       can_access_public=True)
        self.assertEqual(stream_count, 1)
        expected_html = f"<a href='http://zulip.testserver/#narrow/stream/{stream.id}-New-stream'>New stream</a>"
        self.assertEqual(stream_info['html'][0], expected_html)

        # guests don't see our stream
        stream_count, stream_info = gather_new_streams(realm,
                                                       recent_streams,
                                                       can_access_public=False)
        self.assertEqual(stream_count, 0)
        self.assertEqual(stream_info['html'], [])

        # but they do if we make it web public
        stream.is_web_public = True
        stream.save()

        recent_streams = get_recent_streams(realm, cutoff)
        stream_count, stream_info = gather_new_streams(realm,
                                                       recent_streams,
                                                       can_access_public=True)
        self.assertEqual(stream_count, 1)

        # Make the stream appear to be older.
        stream.date_created = timezone_now() - datetime.timedelta(days=7)
        stream.save()

        recent_streams = get_recent_streams(realm, cutoff)
        stream_count, stream_info = gather_new_streams(realm,
                                                       recent_streams,
                                                       can_access_public=True)
        self.assertEqual(stream_count, 0)
        self.assertEqual(stream_info['html'], [])
Example #4
0
    def test_new_stream_link(self) -> None:
        Stream.objects.all().delete()
        cutoff = timezone_now() - datetime.timedelta(days=5)
        cordelia = self.example_user('cordelia')
        stream = create_stream_if_needed(cordelia.realm, 'New stream')[0]
        stream.date_created = timezone_now()
        stream.save()

        stream_count, stream_info = gather_new_streams(cordelia, cutoff)
        self.assertEqual(stream_count, 1)
        expected_html = f"<a href='http://zulip.testserver/#narrow/stream/{stream.id}-New-stream'>New stream</a>"
        self.assertEqual(stream_info['html'][0], expected_html)

        # Make the stream appear to be older.
        stream.date_created = timezone_now() - datetime.timedelta(days=7)
        stream.save()

        stream_count, stream_info = gather_new_streams(cordelia, cutoff)
        self.assertEqual(stream_count, 0)
        self.assertEqual(stream_info['html'], [])