Refs #31468 -- Added tests for MigrationAutodetector.suggest_name().
This commit is contained in:
parent
780473d756
commit
5bd585a82d
|
@ -6,13 +6,13 @@ from django.apps import apps
|
|||
from django.conf import settings
|
||||
from django.contrib.auth.models import AbstractBaseUser
|
||||
from django.core.validators import RegexValidator, validate_slug
|
||||
from django.db import connection, models
|
||||
from django.db import connection, migrations, models
|
||||
from django.db.migrations.autodetector import MigrationAutodetector
|
||||
from django.db.migrations.graph import MigrationGraph
|
||||
from django.db.migrations.loader import MigrationLoader
|
||||
from django.db.migrations.questioner import MigrationQuestioner
|
||||
from django.db.migrations.state import ModelState, ProjectState
|
||||
from django.test import TestCase, override_settings
|
||||
from django.test import SimpleTestCase, TestCase, override_settings
|
||||
from django.test.utils import isolate_lru_cache
|
||||
|
||||
from .models import FoodManager, FoodQuerySet
|
||||
|
@ -464,9 +464,9 @@ class AutodetectorTests(TestCase):
|
|||
|
||||
def repr_changes(self, changes, include_dependencies=False):
|
||||
output = ""
|
||||
for app_label, migrations in sorted(changes.items()):
|
||||
for app_label, migrations_ in sorted(changes.items()):
|
||||
output += " %s:\n" % app_label
|
||||
for migration in migrations:
|
||||
for migration in migrations_:
|
||||
output += " %s\n" % migration.name
|
||||
for operation in migration.operations:
|
||||
output += " %s\n" % operation
|
||||
|
@ -2479,3 +2479,22 @@ class AutodetectorTests(TestCase):
|
|||
self.assertOperationTypes(changes, 'app', 0, ['RemoveField', 'CreateModel'])
|
||||
self.assertOperationAttributes(changes, 'app', 0, 0, name='title', model_name='readable')
|
||||
self.assertOperationAttributes(changes, 'app', 0, 1, name='book')
|
||||
|
||||
|
||||
class AutodetectorSuggestNameTests(SimpleTestCase):
|
||||
def test_single_operation(self):
|
||||
ops = [migrations.CreateModel('Person', fields=[])]
|
||||
self.assertEqual(MigrationAutodetector.suggest_name(ops), 'person')
|
||||
ops = [migrations.DeleteModel('Person')]
|
||||
self.assertEqual(MigrationAutodetector.suggest_name(ops), 'delete_person')
|
||||
|
||||
def test_two_create_models(self):
|
||||
ops = [
|
||||
migrations.CreateModel('Person', fields=[]),
|
||||
migrations.CreateModel('Animal', fields=[]),
|
||||
]
|
||||
self.assertEqual(MigrationAutodetector.suggest_name(ops), 'animal_person')
|
||||
|
||||
def test_auto(self):
|
||||
suggest_name = MigrationAutodetector.suggest_name([])
|
||||
self.assertIs(suggest_name.startswith('auto_'), True)
|
||||
|
|
Loading…
Reference in New Issue