|
| 1 | +from django.core.urlresolvers import reverse |
| 2 | +from django.test import TestCase, Client |
| 3 | + |
| 4 | +from . import models |
| 5 | + |
| 6 | +class IndexTest(TestCase): |
| 7 | + def setUp(self): |
| 8 | + self.client = Client() |
| 9 | + self.url = reverse('test_index') |
| 10 | + models.SecretFile.objects.create(filename='foo.txt', order=1, size=1024) |
| 11 | + models.SecretFile.objects.create(filename='bar.txt', order=2, size=512) |
| 12 | + |
| 13 | + def test_index(self): |
| 14 | + response = self.client.get(self.url) |
| 15 | + self.assertContains(response, 'foo.txt') |
| 16 | + self.assertContains(response, 'bar.txt') |
| 17 | + |
| 18 | + def test_sorting_direction(self): |
| 19 | + response = self.client.get(self.url, {'sort': 'order', 'dir': 'asc'}) |
| 20 | + values = ['<SecretFile: #1 foo.txt>', '<SecretFile: #2 bar.txt>'] |
| 21 | + self.assertQuerysetEqual(response.context['secret_files'], values) |
| 22 | + |
| 23 | + response = self.client.get(self.url, {'sort': 'order', 'dir': 'desc'}) |
| 24 | + values = ['<SecretFile: #2 bar.txt>', '<SecretFile: #1 foo.txt>'] |
| 25 | + self.assertQuerysetEqual(response.context['secret_files'], values) |
| 26 | + |
| 27 | + # Nothing wrong happens with an invalid direction and ASC is used |
| 28 | + response = self.client.get(self.url, {'sort': 'order', 'dir': 'NOT'}) |
| 29 | + values = ['<SecretFile: #1 foo.txt>', '<SecretFile: #2 bar.txt>'] |
| 30 | + self.assertQuerysetEqual(response.context['secret_files'], values) |
| 31 | + |
| 32 | + def test_sorting_argument(self): |
| 33 | + # Nothing wrong happens with invalid sort argument |
| 34 | + response = self.client.get(self.url, {'sort': 'NOT EXISTING'}) |
| 35 | + self.assertContains(response, 'foo.txt') |
0 commit comments