Home page tests
This commit is contained in:
27
app/tests.py
27
app/tests.py
@@ -1,3 +1,30 @@
|
||||
from django.test import TestCase
|
||||
from app.models import Setting
|
||||
from django.conf import settings
|
||||
|
||||
# Create your tests here.
|
||||
|
||||
|
||||
class HomeTestCase(TestCase):
|
||||
"""Home page is loading and translates correctly"""
|
||||
def setUp(self):
|
||||
Setting.objects.create(name='app_home_head_html', language='en', string='A correct english string')
|
||||
Setting.objects.create(name='app_home_head_html', language='ru', string='Строка русского текста')
|
||||
Setting.objects.create(name='app_home_body_html', language='en', string='A<br>correct<br><h1>HTML<h1> string')
|
||||
|
||||
def test_load(self):
|
||||
response = self.client.get('/')
|
||||
self.assertContains(response, 'A correct english string', 1, 200)
|
||||
self.assertContains(response, 'A<br>correct<br><h1>HTML<h1> string', 1, 200)
|
||||
self.assertContains(response, settings.APP_NAME)
|
||||
|
||||
def test_ru_cookie_load(self):
|
||||
self.client.cookies.load({settings.LANGUAGE_COOKIE_NAME: 'ru'})
|
||||
response = self.client.get('/')
|
||||
self.assertContains(response, 'Строка русского текста', 1, 200)
|
||||
self.assertContains(response, '<html lang="ru">', 1, 200)
|
||||
|
||||
def test_ru_header_load(self):
|
||||
response = self.client.get('/', HTTP_ACCEPT_LANGUAGE='ru')
|
||||
self.assertContains(response, 'Строка русского текста', 1, 200)
|
||||
self.assertContains(response, '<html lang="ru">', 1, 200)
|
||||
|
||||
@@ -2,6 +2,7 @@ from django.shortcuts import render
|
||||
from django.utils.translation import gettext as _
|
||||
from django.conf import settings
|
||||
from app.settings_db import get_setting
|
||||
from django.utils import translation
|
||||
|
||||
|
||||
# Create your views here.
|
||||
@@ -11,6 +12,6 @@ def home(request):
|
||||
return render(request, 'home.html', {
|
||||
'title': _('Home'),
|
||||
'app_name': settings.APP_NAME,
|
||||
'app_description_text': get_setting('app_description_text'),
|
||||
'app_mainpage_html': get_setting('app_mainpage_html'),
|
||||
'app_home_head_html': get_setting('app_home_head_html', language=translation.get_language()),
|
||||
'app_home_body_html': get_setting('app_home_body_html', language=translation.get_language()),
|
||||
})
|
||||
|
||||
@@ -43,6 +43,7 @@ INSTALLED_APPS = [
|
||||
MIDDLEWARE = [
|
||||
'django.middleware.security.SecurityMiddleware',
|
||||
'django.contrib.sessions.middleware.SessionMiddleware',
|
||||
'django.middleware.locale.LocaleMiddleware',
|
||||
'django.middleware.common.CommonMiddleware',
|
||||
'django.middleware.csrf.CsrfViewMiddleware',
|
||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||
|
||||
@@ -22,7 +22,7 @@ table {
|
||||
}
|
||||
.error {
|
||||
color: red;
|
||||
font-family: Roboto;
|
||||
font-family: monospace;
|
||||
}
|
||||
hr {
|
||||
border-color: lime;
|
||||
|
||||
@@ -4,10 +4,10 @@
|
||||
<div class="main-container">
|
||||
<h1>{{ app_name }}</h1>
|
||||
<p>
|
||||
{{ app_description_text|safe }}
|
||||
{{ app_home_head_html|safe }}
|
||||
</p>
|
||||
</div>
|
||||
<br/>
|
||||
<hr/>
|
||||
{{ app_mainpage_html|safe }}
|
||||
{{ app_home_body_html|safe }}
|
||||
{% endblock %}
|
||||
|
||||
Reference in New Issue
Block a user