1
0

Home page tests

This commit is contained in:
2018-01-07 22:40:56 +03:00
parent fa7cb01c11
commit 9dc5217f57
5 changed files with 34 additions and 5 deletions

View File

@@ -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)

View File

@@ -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()),
})

View File

@@ -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',

View File

@@ -22,7 +22,7 @@ table {
}
.error {
color: red;
font-family: Roboto;
font-family: monospace;
}
hr {
border-color: lime;

View File

@@ -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 %}