Merge pull request #596 from ProtixIT/status-test-model-naming

Resolve name clash among test models
This commit is contained in:
Jelmer 2024-03-22 18:00:40 +01:00 committed by GitHub
commit 6e722b51b0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 12 additions and 8 deletions

View file

@ -145,7 +145,9 @@ class StatusCustomManager(Manager):
pass
class AbstractStatusCustomManager(StatusModel):
class AbstractCustomManagerStatusModel(StatusModel):
"""An abstract status model with a custom manager."""
STATUS = Choices(
("first_choice", _("First choice")),
("second_choice", _("Second choice")),
@ -157,7 +159,9 @@ class AbstractStatusCustomManager(StatusModel):
abstract = True
class StatusCustomManager(AbstractStatusCustomManager):
class CustomManagerStatusModel(AbstractCustomManagerStatusModel):
"""A concrete status model with a custom manager."""
title = models.CharField(max_length=50)

View file

@ -3,7 +3,7 @@ from datetime import datetime, timezone
import time_machine
from django.test.testcases import TestCase
from tests.models import Status, StatusCustomManager, StatusPlainTuple
from tests.models import CustomManagerStatusModel, Status, StatusPlainTuple
class StatusModelTests(TestCase):
@ -87,13 +87,13 @@ class StatusModelDefaultManagerTests(TestCase):
# This situation only happens when we define a model inheriting from an "abstract"
# class which defines an "objects" manager.
StatusCustomManager.objects.create(status='first_choice')
StatusCustomManager.objects.create(status='second_choice')
StatusCustomManager.objects.create(status='second_choice')
CustomManagerStatusModel.objects.create(status='first_choice')
CustomManagerStatusModel.objects.create(status='second_choice')
CustomManagerStatusModel.objects.create(status='second_choice')
# ...which made this count() equal to 1 (only 1 element with status='first_choice')...
self.assertEqual(StatusCustomManager._default_manager.count(), 3)
self.assertEqual(CustomManagerStatusModel._default_manager.count(), 3)
# ...and this one equal to 0, because of 2 successive filters of 'first_choice'
# (default manager) and 'second_choice' (explicit filter below).
self.assertEqual(StatusCustomManager._default_manager.filter(status='second_choice').count(), 2)
self.assertEqual(CustomManagerStatusModel._default_manager.filter(status='second_choice').count(), 2)