Форум сайта python.su
помогите пожалуйста написать тест, который проверяет вошёл пользователь через форму или нет. вот моя попытка
test.py:
from django.test import TestCase from django.test.client import Client class TestTemplatePage(TestCase): def set_up(self): self.client = Client() def test_logged_in(self): response = self.client.post('/accounts/login/', {'username': 'qqq', 'password': 'qqq'}) self.assertTemplateUsed(response, 'user_personal.html') #загрузилась внутренняя страница сайта, с соответствующим шаблоном. значит пользователь вошёл
urlpatterns = patterns('app_drummersaransk', url(r'^accounts/login/$', 'views.login', name='login', ), url(r'^(?P<id>[0-9]+)/$', 'views.user_personal', name='user_personal', ), )
@login_required def user_personal(request, id): try: entries_user_profile = UserProfile.objects.get(user_ptr_id=id) except: return HttpResponseRedirect('/page_error404/') entries_user = User.objects.get(id=id) path_pk = '' if request.method == 'POST': path_pk = id user_id = int(request.user.pk) if request.POST.get('action', '') == 'add': q = Friends.get_entry(user_id=user_id, friend_id=path_pk) if q == False: Friends.set_entry(user_id=user_id, friend_id=path_pk) #add if request.POST.get('action', '') == 'delete': try: Friends.get_entry(user_id=user_id, friend_id=path_pk) #del except: pass else: Friends.del_entry(user_id=user_id, friend_id=path_pk) t = loader.get_template('user_personal.html') c = RequestContext(request, { 'login': entries_user.username, 'entries_user_profile': entries_user_profile, }, [custom_proc]) return HttpResponse(t.render(c))
c:\Python33\django_projects\drummersaransk_new>python manage.py test app_drummer saransk Creating test database for alias 'default'... F ====================================================================== FAIL: test_logged_in (app_drummersaransk.tests.TestTemplatePage) ---------------------------------------------------------------------- Traceback (most recent call last): File "c:\Python33\django_projects\drummersaransk_new\app_drummersaransk\tests. py", line 26, in test_logged_in self.assertTemplateUsed(response, 'user_personal.html') File "C:\Python33\lib\site-packages\django\test\testcases.py", line 542, in as sertTemplateUsed (template_name, ', '.join(template_names))) AssertionError: False is not true : Template 'user_personal.html' was not a temp late used to render the response. Actual template(s) used: accounts/login.html, page_base.html ---------------------------------------------------------------------- Ran 1 test in 0.101s FAILED (failures=1) Destroying test database for alias 'default'...
Отредактировано zlodiak (Май 28, 2014 10:27:29)
Офлайн