🔧(backend) add CRISP_WEBSITE_ID setting
Add setting CRISP_WEBSITE_ID. This setting is used to configure the Crisp chat widget. It will be available to the conf endpoint, to be used by the frontend.
This commit is contained in:
@@ -902,6 +902,7 @@ class ConfigView(views.APIView):
|
|||||||
"""
|
"""
|
||||||
array_settings = [
|
array_settings = [
|
||||||
"COLLABORATION_SERVER_URL",
|
"COLLABORATION_SERVER_URL",
|
||||||
|
"CRISP_WEBSITE_ID",
|
||||||
"ENVIRONMENT",
|
"ENVIRONMENT",
|
||||||
"FRONTEND_THEME",
|
"FRONTEND_THEME",
|
||||||
"MEDIA_BASE_URL",
|
"MEDIA_BASE_URL",
|
||||||
|
|||||||
@@ -17,17 +17,25 @@ pytestmark = pytest.mark.django_db
|
|||||||
|
|
||||||
@override_settings(
|
@override_settings(
|
||||||
COLLABORATION_SERVER_URL="http://testcollab/",
|
COLLABORATION_SERVER_URL="http://testcollab/",
|
||||||
|
CRISP_WEBSITE_ID="123",
|
||||||
FRONTEND_THEME="test-theme",
|
FRONTEND_THEME="test-theme",
|
||||||
MEDIA_BASE_URL="http://testserver/",
|
MEDIA_BASE_URL="http://testserver/",
|
||||||
SENTRY_DSN="https://sentry.test/123",
|
SENTRY_DSN="https://sentry.test/123",
|
||||||
)
|
)
|
||||||
def test_api_config_anonymous():
|
@pytest.mark.parametrize("is_authenticated", [False, True])
|
||||||
|
def test_api_config(is_authenticated):
|
||||||
"""Anonymous users should be allowed to get the configuration."""
|
"""Anonymous users should be allowed to get the configuration."""
|
||||||
client = APIClient()
|
client = APIClient()
|
||||||
|
|
||||||
|
if is_authenticated:
|
||||||
|
user = factories.UserFactory()
|
||||||
|
client.force_login(user)
|
||||||
|
|
||||||
response = client.get("/api/v1.0/config/")
|
response = client.get("/api/v1.0/config/")
|
||||||
assert response.status_code == HTTP_200_OK
|
assert response.status_code == HTTP_200_OK
|
||||||
assert response.json() == {
|
assert response.json() == {
|
||||||
"COLLABORATION_SERVER_URL": "http://testcollab/",
|
"COLLABORATION_SERVER_URL": "http://testcollab/",
|
||||||
|
"CRISP_WEBSITE_ID": "123",
|
||||||
"ENVIRONMENT": "test",
|
"ENVIRONMENT": "test",
|
||||||
"FRONTEND_THEME": "test-theme",
|
"FRONTEND_THEME": "test-theme",
|
||||||
"LANGUAGES": [["en-us", "English"], ["fr-fr", "French"], ["de-de", "German"]],
|
"LANGUAGES": [["en-us", "English"], ["fr-fr", "French"], ["de-de", "German"]],
|
||||||
@@ -35,29 +43,3 @@ def test_api_config_anonymous():
|
|||||||
"MEDIA_BASE_URL": "http://testserver/",
|
"MEDIA_BASE_URL": "http://testserver/",
|
||||||
"SENTRY_DSN": "https://sentry.test/123",
|
"SENTRY_DSN": "https://sentry.test/123",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@override_settings(
|
|
||||||
COLLABORATION_SERVER_URL="http://testcollab/",
|
|
||||||
FRONTEND_THEME="test-theme",
|
|
||||||
MEDIA_BASE_URL="http://testserver/",
|
|
||||||
SENTRY_DSN="https://sentry.test/123",
|
|
||||||
)
|
|
||||||
def test_api_config_authenticated():
|
|
||||||
"""Authenticated users should be allowed to get the configuration."""
|
|
||||||
user = factories.UserFactory()
|
|
||||||
|
|
||||||
client = APIClient()
|
|
||||||
client.force_login(user)
|
|
||||||
|
|
||||||
response = client.get("/api/v1.0/config/")
|
|
||||||
assert response.status_code == HTTP_200_OK
|
|
||||||
assert response.json() == {
|
|
||||||
"COLLABORATION_SERVER_URL": "http://testcollab/",
|
|
||||||
"ENVIRONMENT": "test",
|
|
||||||
"FRONTEND_THEME": "test-theme",
|
|
||||||
"MEDIA_BASE_URL": "http://testserver/",
|
|
||||||
"LANGUAGES": [["en-us", "English"], ["fr-fr", "French"], ["de-de", "German"]],
|
|
||||||
"LANGUAGE_CODE": "en-us",
|
|
||||||
"SENTRY_DSN": "https://sentry.test/123",
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -381,6 +381,11 @@ class Base(Configuration):
|
|||||||
None, environ_name="FRONTEND_THEME", environ_prefix=None
|
None, environ_name="FRONTEND_THEME", environ_prefix=None
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Crisp
|
||||||
|
CRISP_WEBSITE_ID = values.Value(
|
||||||
|
None, environ_name="CRISP_WEBSITE_ID", environ_prefix=None
|
||||||
|
)
|
||||||
|
|
||||||
# Easy thumbnails
|
# Easy thumbnails
|
||||||
THUMBNAIL_EXTENSION = "webp"
|
THUMBNAIL_EXTENSION = "webp"
|
||||||
THUMBNAIL_TRANSPARENCY_EXTENSION = "webp"
|
THUMBNAIL_TRANSPARENCY_EXTENSION = "webp"
|
||||||
|
|||||||
Reference in New Issue
Block a user