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 django.test import TestCase
|
||||||
|
from app.models import Setting
|
||||||
|
from django.conf import settings
|
||||||
|
|
||||||
# Create your tests here.
|
# 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.utils.translation import gettext as _
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from app.settings_db import get_setting
|
from app.settings_db import get_setting
|
||||||
|
from django.utils import translation
|
||||||
|
|
||||||
|
|
||||||
# Create your views here.
|
# Create your views here.
|
||||||
@@ -11,6 +12,6 @@ def home(request):
|
|||||||
return render(request, 'home.html', {
|
return render(request, 'home.html', {
|
||||||
'title': _('Home'),
|
'title': _('Home'),
|
||||||
'app_name': settings.APP_NAME,
|
'app_name': settings.APP_NAME,
|
||||||
'app_description_text': get_setting('app_description_text'),
|
'app_home_head_html': get_setting('app_home_head_html', language=translation.get_language()),
|
||||||
'app_mainpage_html': get_setting('app_mainpage_html'),
|
'app_home_body_html': get_setting('app_home_body_html', language=translation.get_language()),
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -43,6 +43,7 @@ INSTALLED_APPS = [
|
|||||||
MIDDLEWARE = [
|
MIDDLEWARE = [
|
||||||
'django.middleware.security.SecurityMiddleware',
|
'django.middleware.security.SecurityMiddleware',
|
||||||
'django.contrib.sessions.middleware.SessionMiddleware',
|
'django.contrib.sessions.middleware.SessionMiddleware',
|
||||||
|
'django.middleware.locale.LocaleMiddleware',
|
||||||
'django.middleware.common.CommonMiddleware',
|
'django.middleware.common.CommonMiddleware',
|
||||||
'django.middleware.csrf.CsrfViewMiddleware',
|
'django.middleware.csrf.CsrfViewMiddleware',
|
||||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ table {
|
|||||||
}
|
}
|
||||||
.error {
|
.error {
|
||||||
color: red;
|
color: red;
|
||||||
font-family: Roboto;
|
font-family: monospace;
|
||||||
}
|
}
|
||||||
hr {
|
hr {
|
||||||
border-color: lime;
|
border-color: lime;
|
||||||
|
|||||||
@@ -4,10 +4,10 @@
|
|||||||
<div class="main-container">
|
<div class="main-container">
|
||||||
<h1>{{ app_name }}</h1>
|
<h1>{{ app_name }}</h1>
|
||||||
<p>
|
<p>
|
||||||
{{ app_description_text|safe }}
|
{{ app_home_head_html|safe }}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<br/>
|
<br/>
|
||||||
<hr/>
|
<hr/>
|
||||||
{{ app_mainpage_html|safe }}
|
{{ app_home_body_html|safe }}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|||||||
Reference in New Issue
Block a user