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

Commit

Permalink
Added user profile view
Browse files Browse the repository at this point in the history
  • Loading branch information
nylar committed May 20, 2015
1 parent 220955f commit ce05b46
Show file tree
Hide file tree
Showing 6 changed files with 60 additions and 1 deletion.
1 change: 1 addition & 0 deletions fora/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@
urlpatterns = [
url(r'^forums/', include('forums.urls', namespace='forums')),
url(r'^threads/', include('threads.urls', namespace='threads')),
url(r'^users/', include('users.urls', namespace='users')),
]
1 change: 1 addition & 0 deletions users/templates/users/user_detail.html
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{{ user.username }}
17 changes: 17 additions & 0 deletions users/tests/test_urls.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
from django.contrib.auth import get_user_model
from django.core.urlresolvers import reverse
from django.test import Client
from fora.tests.base import BaseTestCase


class UserUrlsTestCase(BaseTestCase):

def setUp(self):
super(UserUrlsTestCase, self).setUp()
self.client = Client()

def test_user_profile_url(self):
u = get_user_model().objects.create(username='u', password='x')
response = self.client.get(
reverse('users:profile', kwargs={'username': u.username}))
self.assertEqual(response.status_code, 200)
18 changes: 18 additions & 0 deletions users/tests/test_views.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
from django.contrib.auth import get_user_model
from django.test import RequestFactory
from fora.tests.base import BaseTestCase
from users.views import UserProfileView


class UserProfileViewTestCase(BaseTestCase):

def setUp(self):
self.factory = RequestFactory()
self.user = get_user_model().objects.create(username='a', password='a')
super(UserProfileViewTestCase, self).setUp()

def test_get_user_profile_view(self):
request = self.factory.get('/')
response = UserProfileView.as_view()(
request, username=self.user.username)
response.render()
11 changes: 11 additions & 0 deletions users/urls.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
from django.conf.urls import url
from users.views import UserProfileView


urlpatterns = [
url(
r'^(?P<username>[\w-]+)/$',
UserProfileView.as_view(),
name='profile'
),
]
13 changes: 12 additions & 1 deletion users/views.py
Original file line number Diff line number Diff line change
@@ -1 +1,12 @@
# Create your views here.
from django.contrib.auth import get_user_model
from django.shortcuts import get_object_or_404
from django.views.generic.detail import DetailView


class UserProfileView(DetailView):
model = get_user_model()
context_object_name = 'user'

def get_object(self):
return get_object_or_404(
get_user_model(), username=self.kwargs.get('username'))

0 comments on commit ce05b46

Please sign in to comment.