Skip to content
This repository has been archived by the owner on Oct 28, 2019. It is now read-only.

Commit

Permalink
Merge branch 'feature/issue-13-add-front-page' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
Rudi Giesler committed Oct 17, 2014
2 parents 0e05313 + f69f418 commit 5717b2c
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 0 deletions.
15 changes: 15 additions & 0 deletions imaliyethu/tests/test_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,18 @@ def test_top_level(self):
data = self.deserialize(response)
self.assertEqual(data['objects'], [])
self.assertEqual(data['meta']['total_count'], 0)


class ApiRootTests(TestCase):
def setUp(self):
self.client = Client()

def test_page_exists(self):
response = self.client.get(reverse('api_root'))
self.assertIsNotNone(response)
self.assertEqual(response.status_code, 200)
self.assertContains(response, 'admin')
self.assertContains(response, 'api-auth')
self.assertContains(response, 'toilet_codes')
self.assertContains(response, 'toilet_issues')
self.assertContains(response, 'snappy_bouncer')
2 changes: 2 additions & 0 deletions imaliyethu/urls.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
from django.conf.urls import patterns, include, url
from imaliyethu.views import ApiRoot

# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns(
'',
url(r'^$', ApiRoot.as_view(), name='api_root'),
url(r'^admin/', include(admin.site.urls)),
url(r'^toilet_issues/', include('imaliyethu.toilet_issues.urls')),
url(r'^toilet_codes/', include('imaliyethu.toilet_codes.urls')),
Expand Down
20 changes: 20 additions & 0 deletions imaliyethu/views.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework.reverse import reverse


class ApiRoot(APIView):
"""
API for the Imali Yethu project.
"""
def get(self, request, format=None):
return Response({
'admin': reverse('admin:index', request=request),
'api-auth': reverse('rest_framework:login', request=request),
'toilet_codes': reverse('toilet_codes_list', request=request),
'toilet_issues': reverse('toilet_issues_list', request=request),
'snappy_bouncer': '%s?format=json' % request.build_absolute_uri(
reverse(
'api_v1/snappybouncer_top_level',
kwargs={'api_name': 'v1/snappybouncer'}, request=request)),
})

0 comments on commit 5717b2c

Please sign in to comment.