paperless-ngx/src/documents/tests/test_views.py

76 lines
2.4 KiB
Python
Raw Normal View History

import shutil
import tempfile
2021-01-07 16:58:38 +01:00
from django.conf import settings
from django.contrib.auth.models import User
from django.test import override_settings
2021-01-07 16:58:38 +01:00
from django.test import TestCase
class TestViews(TestCase):
@classmethod
def setUpClass(cls):
# Provide a dummy static dir to silence whitenoise warnings
cls.static_dir = tempfile.mkdtemp()
cls.override = override_settings(
STATIC_ROOT=cls.static_dir,
)
cls.override.enable()
@classmethod
def tearDownClass(cls):
shutil.rmtree(cls.static_dir, ignore_errors=True)
cls.override.disable()
2021-01-07 16:58:38 +01:00
def setUp(self) -> None:
self.user = User.objects.create_user("testuser")
def test_login_redirect(self):
2022-02-27 15:26:41 +01:00
response = self.client.get("/")
2021-01-07 16:58:38 +01:00
self.assertEqual(response.status_code, 302)
self.assertEqual(response.url, "/accounts/login/?next=/")
def test_index(self):
self.client.force_login(self.user)
2022-02-27 15:26:41 +01:00
for (language_given, language_actual) in [
("", "en-US"),
("en-US", "en-US"),
("de", "de-DE"),
("en", "en-US"),
("en-us", "en-US"),
("fr", "fr-FR"),
("jp", "en-US"),
]:
2021-01-07 16:58:38 +01:00
if language_given:
2022-02-27 15:26:41 +01:00
self.client.cookies.load(
{settings.LANGUAGE_COOKIE_NAME: language_given},
2022-02-27 15:26:41 +01:00
)
2021-01-07 16:58:38 +01:00
elif settings.LANGUAGE_COOKIE_NAME in self.client.cookies.keys():
self.client.cookies.pop(settings.LANGUAGE_COOKIE_NAME)
2022-02-27 15:26:41 +01:00
response = self.client.get(
"/",
)
2021-01-07 16:58:38 +01:00
self.assertEqual(response.status_code, 200)
2022-02-27 15:26:41 +01:00
self.assertEqual(
response.context_data["webmanifest"],
f"frontend/{language_actual}/manifest.webmanifest",
)
self.assertEqual(
response.context_data["styles_css"],
f"frontend/{language_actual}/styles.css",
)
self.assertEqual(
response.context_data["runtime_js"],
f"frontend/{language_actual}/runtime.js",
)
self.assertEqual(
response.context_data["polyfills_js"],
f"frontend/{language_actual}/polyfills.js",
)
self.assertEqual(
response.context_data["main_js"],
f"frontend/{language_actual}/main.js",
2022-02-27 15:26:41 +01:00
)