feat(spa): add USE_SPA_UI cutover flag with legacy fallback
This commit is contained in:
@@ -5,7 +5,7 @@ from pathlib import Path
|
||||
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.core.management import call_command
|
||||
from django.test import TestCase
|
||||
from django.test import TestCase, override_settings
|
||||
from django.urls import reverse
|
||||
from django.utils import timezone
|
||||
|
||||
@@ -973,6 +973,38 @@ class UiScreenTests(TestCase):
|
||||
self.assertContains(response, "player_shell_runtime_error")
|
||||
self.assertContains(response, "window.addEventListener(\"error\"")
|
||||
|
||||
@override_settings(USE_SPA_UI=False)
|
||||
def test_legacy_templates_are_used_when_spa_flag_is_off(self):
|
||||
self.client.login(username="host_ui", password="secret123")
|
||||
|
||||
host_response = self.client.get(reverse("lobby:host_screen"))
|
||||
player_response = self.client.get(reverse("lobby:player_screen"))
|
||||
|
||||
self.assertContains(host_response, "Host panel")
|
||||
self.assertContains(player_response, "Player panel")
|
||||
self.assertNotContains(host_response, "<app-root")
|
||||
self.assertNotContains(player_response, "<app-root")
|
||||
|
||||
@override_settings(USE_SPA_UI=True)
|
||||
def test_host_screen_can_render_angular_shell_when_feature_flag_enabled(self):
|
||||
self.client.login(username="host_ui", password="secret123")
|
||||
|
||||
response = self.client.get(reverse("lobby:host_screen"))
|
||||
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertContains(response, "<app-root")
|
||||
self.assertContains(response, "data-wpp-shell-route=\"/host\"")
|
||||
self.assertContains(response, "/static/frontend/angular/browser/main.js")
|
||||
|
||||
@override_settings(USE_SPA_UI=True)
|
||||
def test_player_screen_can_render_angular_shell_when_feature_flag_enabled(self):
|
||||
response = self.client.get(reverse("lobby:player_screen"))
|
||||
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertContains(response, "<app-root")
|
||||
self.assertContains(response, "data-wpp-shell-route=\"/player\"")
|
||||
self.assertContains(response, "/static/frontend/angular/browser/main.js")
|
||||
|
||||
|
||||
class SessionDetailRoundQuestionTests(TestCase):
|
||||
def setUp(self):
|
||||
|
||||
Reference in New Issue
Block a user