From 712bc34281053bc8f78af1274b7a3c796c5bde34 Mon Sep 17 00:00:00 2001 From: Daniel Sears Date: Mon, 23 Sep 2019 10:20:46 -0700 Subject: [PATCH] added test class for UserDetailView in particular for testing retention of case in usernames --- .../users/tests/test_views.py | 31 ++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py index 76cb80aa8..d3a49adfc 100644 --- a/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py +++ b/{{cookiecutter.project_slug}}/{{cookiecutter.project_slug}}/users/tests/test_views.py @@ -1,8 +1,10 @@ import pytest from django.conf import settings from django.test import RequestFactory +from django.urls import reverse -from {{ cookiecutter.project_slug }}.users.views import UserRedirectView, UserUpdateView +from {{ cookiecutter.project_slug }}.users.tests.factories import UserFactory +from {{ cookiecutter.project_slug }}.users.views import UserDetailView, UserRedirectView, UserUpdateView pytestmark = pytest.mark.django_db @@ -50,3 +52,30 @@ class TestUserRedirectView: view.request = request assert view.get_redirect_url() == f"/users/{user.username}/" + + +class TestUserDetailView: + def test_user_detail_view(self, rf): + user = UserFactory(username = 'tEsTcAsE') + request = rf.get( + path = reverse( + viewname = 'users:detail', + kwargs = {'username': user.username} + ) + ) + request.user = user + response = UserDetailView.as_view()(request, **{'username': user.username}) + + assert response.status_code == 200 + + def test_user_detail_view_url(self, client): + user = UserFactory(username = 'tEsTcAsE') + response = client.get( + path = reverse( + viewname = 'users:detail', + kwargs = {'username': user.username} + ) + ) + + assert response.status_code == 302 + assert response.url == f'/accounts/login/?next=/users/{user.username}/'