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

View File

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

View File

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

View File

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

View File

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