Merge pull request #2949 from thorrak/add_test

This commit is contained in:
Bruno Alla 2021-01-24 15:08:22 +00:00 committed by GitHub
commit e293d8c00e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 27 additions and 1 deletions

View File

@ -1,8 +1,12 @@
import pytest import pytest
from django.contrib import messages
from django.contrib.auth.models import AnonymousUser from django.contrib.auth.models import AnonymousUser
from django.contrib.messages.middleware import MessageMiddleware
from django.contrib.sessions.middleware import SessionMiddleware
from django.http.response import Http404 from django.http.response import Http404
from django.test import RequestFactory from django.test import RequestFactory
from {{ cookiecutter.project_slug }}.users.forms import UserChangeForm
from {{ cookiecutter.project_slug }}.users.models import User from {{ cookiecutter.project_slug }}.users.models import User
from {{ cookiecutter.project_slug }}.users.tests.factories import UserFactory from {{ cookiecutter.project_slug }}.users.tests.factories import UserFactory
from {{ cookiecutter.project_slug }}.users.views import ( from {{ cookiecutter.project_slug }}.users.views import (
@ -41,6 +45,28 @@ class TestUserUpdateView:
assert view.get_object() == user assert view.get_object() == user
def test_form_valid(self, user: User, rf: RequestFactory):
view = UserUpdateView()
request = rf.get("/fake-url/")
# Add the session/message middleware to the request
SessionMiddleware().process_request(request)
MessageMiddleware().process_request(request)
request.user = user
view.request = request
# Initialize the form
form = UserChangeForm()
form.cleaned_data = []
view.form_valid(form)
found_message = False
for message in messages.get_messages(request):
assert message.message == "Information successfully updated"
found_message = True
assert found_message
class TestUserRedirectView: class TestUserRedirectView:
def test_get_redirect_url(self, user: User, rf: RequestFactory): def test_get_redirect_url(self, user: User, rf: RequestFactory):

View File

@ -31,7 +31,7 @@ class UserUpdateView(LoginRequiredMixin, UpdateView):
def form_valid(self, form): def form_valid(self, form):
messages.add_message( messages.add_message(
self.request, messages.INFO, _("Infos successfully updated") self.request, messages.INFO, _("Information successfully updated")
) )
return super().form_valid(form) return super().form_valid(form)