mirror of
https://github.com/cookiecutter/cookiecutter-django.git
synced 2025-08-16 18:04:50 +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
|
import pytest
|
||||||
|
from django.contrib.auth import get_user_model
|
||||||
from {{ cookiecutter.project_slug }}.users.models import User
|
|
||||||
|
|
||||||
pytestmark = pytest.mark.django_db
|
pytestmark = pytest.mark.django_db
|
||||||
|
User = get_user_model()
|
||||||
|
|
||||||
|
|
||||||
def test_user_get_absolute_url(user: User):
|
def test_user_get_absolute_url(user: User):
|
||||||
|
|
|
@ -9,8 +9,16 @@ pytestmark = pytest.mark.django_db
|
||||||
|
|
||||||
def test_user_count(settings):
|
def test_user_count(settings):
|
||||||
"""A basic test to execute the get_users_count Celery task."""
|
"""A basic test to execute the get_users_count Celery task."""
|
||||||
UserFactory.create_batch(3)
|
|
||||||
settings.CELERY_TASK_ALWAYS_EAGER = True
|
settings.CELERY_TASK_ALWAYS_EAGER = True
|
||||||
task_result = get_users_count.delay()
|
|
||||||
assert isinstance(task_result, EagerResult)
|
# Get all existing users in the DB
|
||||||
assert task_result.result == 3
|
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
|
import pytest
|
||||||
|
from django.contrib.auth import get_user_model
|
||||||
from django.urls import resolve, reverse
|
from django.urls import resolve, reverse
|
||||||
|
|
||||||
from {{ cookiecutter.project_slug }}.users.models import User
|
|
||||||
|
|
||||||
pytestmark = pytest.mark.django_db
|
pytestmark = pytest.mark.django_db
|
||||||
|
User = get_user_model()
|
||||||
|
|
||||||
|
|
||||||
def test_detail(user: User):
|
def test_detail(user: User):
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import pytest
|
import pytest
|
||||||
from django.contrib import messages
|
from django.contrib import messages
|
||||||
|
from django.contrib.auth import get_user_model
|
||||||
from django.contrib.auth.models import AnonymousUser
|
from django.contrib.auth.models import AnonymousUser
|
||||||
from django.contrib.messages.middleware import MessageMiddleware
|
from django.contrib.messages.middleware import MessageMiddleware
|
||||||
from django.contrib.sessions.middleware import SessionMiddleware
|
from django.contrib.sessions.middleware import SessionMiddleware
|
||||||
|
@ -7,7 +8,6 @@ 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.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.tests.factories import UserFactory
|
||||||
from {{ cookiecutter.project_slug }}.users.views import (
|
from {{ cookiecutter.project_slug }}.users.views import (
|
||||||
UserRedirectView,
|
UserRedirectView,
|
||||||
|
@ -16,6 +16,7 @@ from {{ cookiecutter.project_slug }}.users.views import (
|
||||||
)
|
)
|
||||||
|
|
||||||
pytestmark = pytest.mark.django_db
|
pytestmark = pytest.mark.django_db
|
||||||
|
User = get_user_model()
|
||||||
|
|
||||||
|
|
||||||
class TestUserUpdateView:
|
class TestUserUpdateView:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user