Mercurial > public > sg101
diff bandmap/tests/test_views.py @ 827:5103edd3acc4
Bandmap: initial version complete.
Javascript queries server for band data.
View created to handle query.
Test created for view.
Link added to map in sidebar.
Template tweaks.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Sat, 27 Sep 2014 19:41:41 -0500 |
parents | d91356818cef |
children |
line wrap: on
line diff
--- a/bandmap/tests/test_views.py Sat Sep 27 15:14:47 2014 -0500 +++ b/bandmap/tests/test_views.py Sat Sep 27 19:41:41 2014 -0500 @@ -3,6 +3,7 @@ """ import datetime +import json from django.test import TestCase from django.core.urlresolvers import reverse @@ -81,3 +82,74 @@ self.assertEqual(entry.note, post_data['note']) self.assertTrue(entry.is_active) self.assertFalse(entry.is_approved) + +class QueryTestCase(TestCase): + """Testing the query view function which returns JSON.""" + + def setUp(self): + self.user = User.objects.create_user( + username='pj', email='pj@example.com', password='top_secret') + + now = datetime.datetime.now() + + kwargs = { + 'name': 'Test Band 1', + 'user': self.user, + 'date_submitted': now, + 'date_approved': now, + 'url': 'http://example.com', + 'location': 'Somewhere', + 'lat': 42.0, + 'lon': -30.0, + 'note': 'Some text here', + 'is_active': True, + 'is_approved': True, + } + BandEntry.objects.create(**kwargs) + + kwargs['name'] = 'Test Band 2' + kwargs['is_active'] = False + BandEntry.objects.create(**kwargs) + + kwargs['name'] = 'Test Band 3' + kwargs['is_active'] = True + kwargs['is_approved'] = False + BandEntry.objects.create(**kwargs) + + def test_query(self): + url = reverse('bandmap-query') + response = self.client.get(url) + self.assertEqual(response.status_code, 200) + + result = json.loads(response.content) + self.assertEqual(len(result), 2) + self.assertEqual(result[0]['name'], 'Test Band 1') + self.assertEqual(result[1]['name'], 'Test Band 2') + + def test_query_all(self): + url = reverse('bandmap-query') + response = self.client.get(url, {'show': 'all'}) + self.assertEqual(response.status_code, 200) + + result = json.loads(response.content) + self.assertEqual(len(result), 2) + self.assertEqual(result[0]['name'], 'Test Band 1') + self.assertEqual(result[1]['name'], 'Test Band 2') + + def test_query_active(self): + url = reverse('bandmap-query') + response = self.client.get(url, {'show': 'active'}) + self.assertEqual(response.status_code, 200) + + result = json.loads(response.content) + self.assertEqual(len(result), 1) + self.assertEqual(result[0]['name'], 'Test Band 1') + + def test_query_inactive(self): + url = reverse('bandmap-query') + response = self.client.get(url, {'show': 'inactive'}) + self.assertEqual(response.status_code, 200) + + result = json.loads(response.content) + self.assertEqual(len(result), 1) + self.assertEqual(result[0]['name'], 'Test Band 2')