mirror of
https://github.com/zulip/zulip.git
synced 2025-11-03 13:33:24 +00:00
test_presence: Add tests for various analytics pages.
While maybe these don't all belong in this test file, the overall effect is that we now have quite good test coverage on analytics/views.py. It'd be nice to add some more assert statements for specific values being present in the pages, but since we're not really working on that part of the product, it's not a priority yet.
This commit is contained in:
@@ -33,7 +33,8 @@ import datetime
|
||||
|
||||
class ActivityTest(ZulipTestCase):
|
||||
def test_activity(self) -> None:
|
||||
self.login(self.example_email("hamlet"))
|
||||
user_profile = self.example_user("hamlet")
|
||||
self.login(user_profile.email)
|
||||
client, _ = Client.objects.get_or_create(name='website')
|
||||
query = '/json/users/me/pointer'
|
||||
last_visit = timezone_now()
|
||||
@@ -46,11 +47,34 @@ class ActivityTest(ZulipTestCase):
|
||||
count=count,
|
||||
last_visit=last_visit
|
||||
)
|
||||
|
||||
# Fails when not staff
|
||||
result = self.client_get('/activity')
|
||||
self.assertEqual(result.status_code, 302)
|
||||
|
||||
user_profile.is_staff = True
|
||||
user_profile.save()
|
||||
|
||||
flush_per_request_caches()
|
||||
with queries_captured() as queries:
|
||||
self.client_get('/activity')
|
||||
result = self.client_get('/activity')
|
||||
self.assertEqual(result.status_code, 200)
|
||||
|
||||
self.assert_length(queries, 4)
|
||||
self.assert_length(queries, 13)
|
||||
|
||||
flush_per_request_caches()
|
||||
with queries_captured() as queries:
|
||||
result = self.client_get('/realm_activity/zulip/')
|
||||
self.assertEqual(result.status_code, 200)
|
||||
|
||||
self.assert_length(queries, 9)
|
||||
|
||||
flush_per_request_caches()
|
||||
with queries_captured() as queries:
|
||||
result = self.client_get('/user_activity/iago@zulip.com/')
|
||||
self.assertEqual(result.status_code, 200)
|
||||
|
||||
self.assert_length(queries, 5)
|
||||
|
||||
class TestClientModel(ZulipTestCase):
|
||||
def test_client_stringification(self) -> None:
|
||||
@@ -240,6 +264,12 @@ class UserPresenceTests(ZulipTestCase):
|
||||
third_time - timedelta(seconds=100)).total_seconds(),
|
||||
300)
|
||||
|
||||
# Now test /activity with actual data
|
||||
user_profile.is_staff = True
|
||||
user_profile.save()
|
||||
result = self.client_get('/activity')
|
||||
self.assertEqual(result.status_code, 200)
|
||||
|
||||
def test_filter_presence_idle_user_ids(self) -> None:
|
||||
user_profile = self.example_user("hamlet")
|
||||
from zerver.lib.actions import filter_presence_idle_user_ids
|
||||
|
||||
Reference in New Issue
Block a user