Also test failure case of ProjectState dependency resolution

This commit is contained in:
Andrew Godwin 2013-09-06 12:18:24 -05:00
parent cdeff3acc2
commit be983ee403
1 changed files with 10 additions and 1 deletions

View File

@ -1,7 +1,7 @@
from django.test import TestCase from django.test import TestCase
from django.db import models from django.db import models
from django.db.models.loading import BaseAppCache from django.db.models.loading import BaseAppCache
from django.db.migrations.state import ProjectState, ModelState from django.db.migrations.state import ProjectState, ModelState, InvalidBasesError
class StateTests(TestCase): class StateTests(TestCase):
@ -166,3 +166,12 @@ class StateTests(TestCase):
project_state.add_model_state(ModelState.from_model(F)) project_state.add_model_state(ModelState.from_model(F))
final_app_cache = project_state.render() final_app_cache = project_state.render()
self.assertEqual(len(final_app_cache.get_models()), 6) self.assertEqual(len(final_app_cache.get_models()), 6)
# Now make an invalid ProjectState and make sure it fails
project_state = ProjectState()
project_state.add_model_state(ModelState.from_model(A))
project_state.add_model_state(ModelState.from_model(B))
project_state.add_model_state(ModelState.from_model(C))
project_state.add_model_state(ModelState.from_model(F))
with self.assertRaises(InvalidBasesError):
project_state.render()