mirror of
https://github.com/cookiecutter/cookiecutter-django.git
synced 2025-08-16 01:44:51 +03:00
Refactored test_{urls,views,models} to use django's built-in get_user_model() method to get the custom user model instead of importing it from a specific django app. Makes the code less prone to breaking. Updated the code for test_user_count method to handle the case of existing users in the database since the local development db can be used to run tests.
This commit is contained in:
parent
518f179b13
commit
21a0257393
|
@ -1,8 +1,8 @@
|
|||
import pytest
|
||||
|
||||
from {{ cookiecutter.project_slug }}.users.models import User
|
||||
from django.contrib.auth import get_user_model
|
||||
|
||||
pytestmark = pytest.mark.django_db
|
||||
User = get_user_model()
|
||||
|
||||
|
||||
def test_user_get_absolute_url(user: User):
|
||||
|
|
|
@ -9,8 +9,16 @@ pytestmark = pytest.mark.django_db
|
|||
|
||||
def test_user_count(settings):
|
||||
"""A basic test to execute the get_users_count Celery task."""
|
||||
UserFactory.create_batch(3)
|
||||
settings.CELERY_TASK_ALWAYS_EAGER = True
|
||||
task_result = get_users_count.delay()
|
||||
assert isinstance(task_result, EagerResult)
|
||||
assert task_result.result == 3
|
||||
|
||||
# Get all existing users in the DB
|
||||
current_users = get_users_count.delay()
|
||||
assert isinstance(current_users, EagerResult)
|
||||
|
||||
# Create and add 3 more users to the DB.
|
||||
UserFactory.create_batch(3)
|
||||
|
||||
# Get number of newly added users in the DB
|
||||
task_result = get_users_count.delay().result - current_users.result
|
||||
|
||||
assert task_result == 3
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import pytest
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.urls import resolve, reverse
|
||||
|
||||
from {{ cookiecutter.project_slug }}.users.models import User
|
||||
|
||||
pytestmark = pytest.mark.django_db
|
||||
User = get_user_model()
|
||||
|
||||
|
||||
def test_detail(user: User):
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
import pytest
|
||||
from django.contrib import messages
|
||||
from django.contrib.auth import get_user_model
|
||||
from django.contrib.auth.models import AnonymousUser
|
||||
from django.contrib.messages.middleware import MessageMiddleware
|
||||
from django.contrib.sessions.middleware import SessionMiddleware
|
||||
|
@ -7,7 +8,6 @@ from django.http.response import Http404
|
|||
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.tests.factories import UserFactory
|
||||
from {{ cookiecutter.project_slug }}.users.views import (
|
||||
UserRedirectView,
|
||||
|
@ -16,6 +16,7 @@ from {{ cookiecutter.project_slug }}.users.views import (
|
|||
)
|
||||
|
||||
pytestmark = pytest.mark.django_db
|
||||
User = get_user_model()
|
||||
|
||||
|
||||
class TestUserUpdateView:
|
||||
|
|
Loading…
Reference in New Issue
Block a user