mirror of https://github.com/zulip/zulip.git
hotspots: Add ALWAYS_SEND_ALL_HOTSPOTS in dev_settings.
Replace the local variable SEND_ALL from get_next_hotspots. Add unit test for the same.
This commit is contained in:
parent
a5472ddee7
commit
f29a1918f3
|
@ -28,9 +28,10 @@ ALL_HOTSPOTS = {
|
||||||
} # type: Dict[str, Dict[str, Text]]
|
} # type: Dict[str, Dict[str, Text]]
|
||||||
|
|
||||||
def get_next_hotspots(user: UserProfile) -> List[Dict[str, object]]:
|
def get_next_hotspots(user: UserProfile) -> List[Dict[str, object]]:
|
||||||
# Only used for manual testing
|
# For manual testing, it can be convenient to set
|
||||||
SEND_ALL = False
|
# ALWAYS_SEND_ALL_HOTSPOTS=True in `zproject/dev_settings.py` to
|
||||||
if settings.DEVELOPMENT and SEND_ALL:
|
# make it easy to click on all of the hotspots.
|
||||||
|
if settings.ALWAYS_SEND_ALL_HOTSPOTS:
|
||||||
return [{
|
return [{
|
||||||
'name': hotspot,
|
'name': hotspot,
|
||||||
'title': ALL_HOTSPOTS[hotspot]['title'],
|
'title': ALL_HOTSPOTS[hotspot]['title'],
|
||||||
|
|
|
@ -6,8 +6,10 @@ from zerver.lib.test_classes import ZulipTestCase
|
||||||
from zerver.models import UserProfile, UserHotspot, get_realm
|
from zerver.models import UserProfile, UserHotspot, get_realm
|
||||||
from zerver.views.hotspots import mark_hotspot_as_read
|
from zerver.views.hotspots import mark_hotspot_as_read
|
||||||
|
|
||||||
|
from django.conf import settings
|
||||||
from typing import Any, Dict
|
from typing import Any, Dict
|
||||||
import ujson
|
import ujson
|
||||||
|
import mock
|
||||||
|
|
||||||
# Splitting this out, since I imagine this will eventually have most of the
|
# Splitting this out, since I imagine this will eventually have most of the
|
||||||
# complicated hotspots logic.
|
# complicated hotspots logic.
|
||||||
|
@ -35,6 +37,10 @@ class TestGetNextHotspots(ZulipTestCase):
|
||||||
self.assertEqual(self.user.tutorial_status, UserProfile.TUTORIAL_FINISHED)
|
self.assertEqual(self.user.tutorial_status, UserProfile.TUTORIAL_FINISHED)
|
||||||
self.assertEqual(get_next_hotspots(self.user), [])
|
self.assertEqual(get_next_hotspots(self.user), [])
|
||||||
|
|
||||||
|
def test_send_all(self) -> None:
|
||||||
|
with self.settings(DEVELOPMENT=True, ALWAYS_SEND_ALL_HOTSPOTS = True):
|
||||||
|
self.assertEqual(len(ALL_HOTSPOTS), len(get_next_hotspots(self.user)))
|
||||||
|
|
||||||
class TestHotspots(ZulipTestCase):
|
class TestHotspots(ZulipTestCase):
|
||||||
def test_do_mark_hotspot_as_read(self) -> None:
|
def test_do_mark_hotspot_as_read(self) -> None:
|
||||||
user = self.example_user('hamlet')
|
user = self.example_user('hamlet')
|
||||||
|
|
|
@ -85,3 +85,6 @@ TWO_FACTOR_SMS_GATEWAY = 'two_factor.gateways.fake.Fake'
|
||||||
|
|
||||||
# Make sendfile use django to serve files in development
|
# Make sendfile use django to serve files in development
|
||||||
SENDFILE_BACKEND = 'sendfile.backends.development'
|
SENDFILE_BACKEND = 'sendfile.backends.development'
|
||||||
|
|
||||||
|
# Set this True to send all hotspots in development
|
||||||
|
ALWAYS_SEND_ALL_HOTSPOTS = False # type: bool
|
||||||
|
|
|
@ -202,6 +202,10 @@ DEFAULT_SETTINGS = {
|
||||||
|
|
||||||
# Two Factor Authentication is not yet implementation-complete
|
# Two Factor Authentication is not yet implementation-complete
|
||||||
'TWO_FACTOR_AUTHENTICATION_ENABLED': False,
|
'TWO_FACTOR_AUTHENTICATION_ENABLED': False,
|
||||||
|
|
||||||
|
# This is used to send all hotspots for convenient manual testing
|
||||||
|
# in development mode.
|
||||||
|
'ALWAYS_SEND_ALL_HOTSPOTS': False,
|
||||||
}
|
}
|
||||||
|
|
||||||
# These settings are not documented in prod_settings_template.py.
|
# These settings are not documented in prod_settings_template.py.
|
||||||
|
|
Loading…
Reference in New Issue