diff --git a/dusken/tests/group.py b/dusken/tests/group.py index 89a0ea8..5fa4c92 100644 --- a/dusken/tests/group.py +++ b/dusken/tests/group.py @@ -1,22 +1,37 @@ -import logging -import dusken.utils.tests +from tastypie.models import ApiKey +from dusken.utils.tests import test_fixtures_group, do_get_request, do_post_request -from dusken.models import Group from tastypie.test import ResourceTestCase +from dusken.models import Member + class GroupTest(ResourceTestCase): + fixtures = test_fixtures_group() - def setUp(self): - super(GroupTest, self).setUp() + #TODO Perhaps a subclass is better suited for these + do_get_request = do_get_request + do_post_request = do_post_request - # URI to get all groups - self.groups_url = '/api/v1/group/' + def setUp(self): + self.member = Member.objects.get(pk=2) - def test_put_not_allowed(self): - resp = self.api_client.put(self.groups_url) - self.assertHttpMethodNotAllowed(resp) + self.creds = self.create_apikey( + username=self.member.username, + api_key=ApiKey.objects.get(user=self.member).key) - def test_delete_not_allowed(self): - resp = self.api_client.delete(self.groups_url) - self.assertHttpMethodNotAllowed(resp) - + super(GroupTest, self).setUp() + + # URI to get all groups + self.groups_url = '/api/v1/group/' + + def test_put_not_allowed(self): + resp = self.api_client.put(self.groups_url) + self.assertHttpMethodNotAllowed(resp) + + def test_delete_not_allowed(self): + resp = self.api_client.delete(self.groups_url) + self.assertHttpMethodNotAllowed(resp) + + def test_get_group(self): + resp = self.do_get_request(self.groups_url + '1') + #TODO Implement this :) diff --git a/dusken/tests/membership.py b/dusken/tests/membership.py index 7160f7f..f58a81a 100644 --- a/dusken/tests/membership.py +++ b/dusken/tests/membership.py @@ -1,18 +1,19 @@ -import logging -import django from tastypie.models import ApiKey -from dusken.models import Address, Country, Member +from dusken.models import Member from tastypie.test import ResourceTestCase -from dusken.utils.tests import test_fixtures_membership +from dusken.utils.tests import test_fixtures_membership, do_get_request, do_post_request class MembershipTest(ResourceTestCase): + fixtures = test_fixtures_membership() + + #TODO Perhaps a subclass is better suited for these + do_get_request = do_get_request + do_post_request = do_post_request membership_url = '/api/v1/membership/' membership_url_single = '/api/v1/membership/{}/' - fixtures = test_fixtures_membership() - def setUp(self): self.member = Member.objects.get(pk=2) @@ -27,21 +28,6 @@ class MembershipTest(ResourceTestCase): def member_url(self, member_id): return self.membership_url_single.format(member_id) - def do_get_request(self, url): - return self.api_client.get( - url, - format='json', - authentication=self.creds - ) - - # Help set format and add authentication credentials - def do_post_request(self, url, data): - return self.api_client.post( - url, - format='json', - data=data, - authentication=self.creds - ) #################################################################### ### Tests diff --git a/dusken/utils/tests.py b/dusken/utils/tests.py index bf0d404..6a652da 100644 --- a/dusken/utils/tests.py +++ b/dusken/utils/tests.py @@ -5,19 +5,19 @@ from dusken.models import * #################################################################### ### Request helper functions -def do_get_request(self, url, creds): +def do_get_request(self, url): return self.api_client.get( url, format='json', - authentication=creds + authentication=self.creds ) -def do_post_request(self, url, data, creds): +def do_post_request(self, url, data): return self.api_client.post( url, format='json', data=data, - authentication=creds + authentication=self.creds ) #################################################################### @@ -43,3 +43,8 @@ def test_fixtures_membership(): os.path.join('dusken', 'fixtures', 'membershiptype.json'), os.path.join('dusken', 'fixtures', 'membership.json'), ] + +def test_fixtures_group(): + return test_fixtures_member() + [ + os.path.join('dusken', 'fixtures', 'group.json'), + ] \ No newline at end of file