2014-10-09 3 views
0

Это мой код:Django. TestCase login_required

from django.test import TestCase 
from django.contrib.auth.models import User 

class BetsTest(TestCase): 
    def setUp(self): 
     user = User.objects.create_user('test', 'test', 'test') 
     user.save() 
     self.client.login(username='test', password='test') 

    def test_details(self): 
     response = self.client.post('/bets/makebet/5', {'points' : '24'}) 
     self.failUnlessEqual(response.status_code, 200) 

И моя точка зрения имеет декоратор @login_required .. И независимо от того, что я делаю, мой ответ не статус: 301 ....

ответ

0

Ну, если вы «Если вы отправляете что-то, это, вероятно, перенаправит вас на страницу успеха? Это не код 200.

Комплект follow=True на вашем звонке post, и он должен работать нормально.

response = self.client.post('/bets/makebet/5', {'points' : '24'}, follow=True) 

Вы также можете получить доступ к редирект, если вы делаете это с response.redirect_chain

https://docs.djangoproject.com/en/dev/topics/testing/tools/

+0

Нет .. только перенаправление происходит от @login_required декоратора .. В противном случае он возвращает обратный render_to_response ('ставки/getreward .html ', {' message ': message}, context_instance = RequestContext (запрос)) .. но с другим сообщением. – ziomagic

Смежные вопросы