Mercurial > public > sg101
diff messages/tests/test_views.py @ 811:56b30c79f10e
Private messages refactor: start adding tests.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Sun, 07 Sep 2014 13:12:19 -0500 |
parents | |
children | 42436d674ba8 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/messages/tests/test_views.py Sun Sep 07 13:12:19 2014 -0500 @@ -0,0 +1,74 @@ +""" +Unit tests for the messages application views. + +""" +from django.test import TestCase +from django.core.urlresolvers import reverse + +from messages.models import Message, Options, Flag + + +VIEW_NAMES = [ + 'messages-inbox', + 'messages-compose', + 'messages-outbox', + 'messages-trash', + 'messages-options', + 'messages-delete', + 'messages-undelete', + 'messages-view', + 'messages-report', +] + + +class NotLoggedInTestCase(TestCase): + """Ensure we are redirected to the login page before we can do anything with + this application. + + """ + LOGIN_URL = reverse('accounts-login') + + def _test_get(self, url_name, **kwargs): + url = reverse(url_name, **kwargs) + response = self.client.get(url, follow=True) + self.assertRedirects(response, self.LOGIN_URL + '?next=' + url) + + def _test_post(self, url_name, **kwargs): + url = reverse(url_name, **kwargs) + response = self.client.post(url, follow=True) + self.assertRedirects(response, self.LOGIN_URL + '?next=' + url) + + def test_inbox(self): + self._test_get('messages-inbox') + + def test_compose(self): + url_name = 'messages-compose' + self._test_get(url_name) + self._test_post(url_name) + + def test_outbox(self): + self._test_get('messages-outbox') + + def test_trash(self): + self._test_get('messages-trash') + + def test_options(self): + url_name = 'messages-options' + self._test_get(url_name) + self._test_post(url_name) + + def test_delete(self): + self._test_get('messages-delete') + + def test_undelete(self): + self._test_get('messages-undelete') + + def test_view(self): + url_name = 'messages-view' + self._test_get(url_name, args=[123]) + self._test_post(url_name, args=[123]) + + def test_report(self): + url_name = 'messages-report' + self._test_get(url_name, args=[123]) + self._test_post(url_name, args=[123])