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'])
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'])
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'], [])
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'], [])