Fixed #35656 -- Added an autodetector attribute to the makemigrations and migrate commands.

This commit is contained in:
leondaz 2024-09-09 19:15:40 +03:00 committed by Sarah Boyce
parent dc626fbe3a
commit 06bf06a911
10 changed files with 142 additions and 4 deletions

View file

@ -0,0 +1,25 @@
from django.core import checks
from django.core.checks import Error
from django.test import SimpleTestCase
from django.test.utils import isolate_apps, override_settings, override_system_checks
@isolate_apps("check_framework.custom_commands_app", attr_name="apps")
@override_settings(INSTALLED_APPS=["check_framework.custom_commands_app"])
@override_system_checks([checks.commands.migrate_and_makemigrations_autodetector])
class CommandCheckTests(SimpleTestCase):
def test_migrate_and_makemigrations_autodetector_different(self):
expected_error = Error(
"The migrate and makemigrations commands must have the same "
"autodetector.",
hint=(
"makemigrations.Command.autodetector is int, but "
"migrate.Command.autodetector is MigrationAutodetector."
),
id="commands.E001",
)
self.assertEqual(
checks.run_checks(app_configs=self.apps.get_app_configs()),
[expected_error],
)