Merge pull request #453 from chrisglass/fix-tests

Fix tests
fix_request_path_info^2
Chris Glass 2020-08-14 17:05:20 +02:00 committed by GitHub
commit e67e7042db
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 19 additions and 12 deletions

1
.gitignore vendored
View File

@ -17,3 +17,4 @@ dist/
docs/_build/ docs/_build/
htmlcov/ htmlcov/
venv/ venv/
.venv/

View File

@ -1450,6 +1450,13 @@ class Migration(migrations.Migration):
to="tests.ParentModelWithManager", to="tests.ParentModelWithManager",
), ),
), ),
migrations.AddField(
model_name="childmodelwithmanager",
name="field1",
field=models.CharField(
max_length=10,
),
),
migrations.AddField( migrations.AddField(
model_name="childmodelwithmanager", model_name="childmodelwithmanager",
name="polymorphic_ctype", name="polymorphic_ctype",

View File

@ -222,6 +222,7 @@ class ParentModelWithManager(PolymorphicModel):
class ChildModelWithManager(PolymorphicModel): class ChildModelWithManager(PolymorphicModel):
# Also test whether foreign keys receive the manager: # Also test whether foreign keys receive the manager:
field1 = models.CharField(max_length=10) # needed as MyManager uses it
fk = models.ForeignKey( fk = models.ForeignKey(
ParentModelWithManager, on_delete=models.CASCADE, related_name="childmodel_set" ParentModelWithManager, on_delete=models.CASCADE, related_name="childmodel_set"
) )

View File

@ -18,7 +18,7 @@ from polymorphic.tests.models import (
class MultipleDatabasesTests(TestCase): class MultipleDatabasesTests(TestCase):
multi_db = True databases = ["default", "secondary"]
def test_save_to_non_default_database(self): def test_save_to_non_default_database(self):
Model2A.objects.db_manager("secondary").create(field1="A1") Model2A.objects.db_manager("secondary").create(field1="A1")

View File

@ -481,21 +481,22 @@ class PolymorphicTests(TransactionTestCase):
def test_foreignkey_field(self): def test_foreignkey_field(self):
self.create_model2abcd() self.create_model2abcd()
object2a = Model2A.base_objects.get(field1="C1") object2a = Model2A.objects.get(field1="C1")
self.assertEqual(object2a.model2b.__class__, Model2B) self.assertEqual(object2a.model2b.__class__, Model2B)
object2b = Model2B.base_objects.get(field1="C1") object2b = Model2B.objects.get(field1="C1")
self.assertEqual(object2b.model2c.__class__, Model2C) self.assertEqual(object2b.model2c.__class__, Model2C)
def test_onetoone_field(self): def test_onetoone_field(self):
self.create_model2abcd() self.create_model2abcd()
# FIXME: We should not use base_objects here.
a = Model2A.base_objects.get(field1="C1") a = Model2A.base_objects.get(field1="C1")
b = One2OneRelatingModelDerived.objects.create( b = One2OneRelatingModelDerived.objects.create(
one2one=a, field1="f1", field2="f2" one2one=a, field1="f1", field2="f2"
) )
# this result is basically wrong, probably due to Django cacheing (we used base_objects), but should not be a problem # FIXME: this result is basically wrong, probably due to Django cacheing (we used base_objects), but should not be a problem
self.assertEqual(b.one2one.__class__, Model2A) self.assertEqual(b.one2one.__class__, Model2A)
self.assertEqual(b.one2one_id, b.one2one.id) self.assertEqual(b.one2one_id, b.one2one.id)
@ -808,7 +809,6 @@ class PolymorphicTests(TransactionTestCase):
self.assertIs(type(ModelWithMyManager.objects), MyManager) self.assertIs(type(ModelWithMyManager.objects), MyManager)
self.assertIs(type(ModelWithMyManager._default_manager), MyManager) self.assertIs(type(ModelWithMyManager._default_manager), MyManager)
self.assertIs(type(ModelWithMyManager.base_objects), models.Manager)
def test_user_defined_manager_as_secondary(self): def test_user_defined_manager_as_secondary(self):
self.create_model2abcd() self.create_model2abcd()
@ -831,7 +831,6 @@ class PolymorphicTests(TransactionTestCase):
self.assertIs( self.assertIs(
type(ModelWithMyManagerNoDefault._default_manager), PolymorphicManager type(ModelWithMyManagerNoDefault._default_manager), PolymorphicManager
) )
self.assertIs(type(ModelWithMyManagerNoDefault.base_objects), models.Manager)
def test_user_objects_manager_as_secondary(self): def test_user_objects_manager_as_secondary(self):
self.create_model2abcd() self.create_model2abcd()
@ -841,7 +840,6 @@ class PolymorphicTests(TransactionTestCase):
self.assertIs(type(ModelWithMyManagerDefault.my_objects), MyManager) self.assertIs(type(ModelWithMyManagerDefault.my_objects), MyManager)
self.assertIs(type(ModelWithMyManagerDefault.objects), PolymorphicManager) self.assertIs(type(ModelWithMyManagerDefault.objects), PolymorphicManager)
self.assertIs(type(ModelWithMyManagerDefault._default_manager), MyManager) self.assertIs(type(ModelWithMyManagerDefault._default_manager), MyManager)
self.assertIs(type(ModelWithMyManagerDefault.base_objects), models.Manager)
def test_user_defined_queryset_as_manager(self): def test_user_defined_queryset_as_manager(self):
self.create_model2abcd() self.create_model2abcd()
@ -864,7 +862,6 @@ class PolymorphicTests(TransactionTestCase):
type(ModelWithMyManager2._default_manager).__name__, type(ModelWithMyManager2._default_manager).__name__,
"PolymorphicManagerFromMyManagerQuerySet", "PolymorphicManagerFromMyManagerQuerySet",
) )
self.assertIs(type(ModelWithMyManager2.base_objects), models.Manager)
def test_manager_inheritance(self): def test_manager_inheritance(self):
# by choice of MRO, should be MyManager from MROBase1. # by choice of MRO, should be MyManager from MROBase1.

View File

@ -1,9 +1,9 @@
[tox] [tox]
envlist = envlist =
py35-django{21,22,master} py35-django{21,22}
py36-django{21,22,30,31,master} py36-django{21,22,30,31}
py37-django{21,22,30,31,master} py37-django{21,22,30,31}
py38-django{21,22,30,31,master} py38-django{21,22,30,31}
docs docs
[testenv] [testenv]
@ -12,6 +12,7 @@ setenv =
postgres: DEFAULT_DATABASE = postgres:///default postgres: DEFAULT_DATABASE = postgres:///default
postgres: SECONDARY_DATABASE = postgres:///secondary postgres: SECONDARY_DATABASE = postgres:///secondary
deps = deps =
ipdb
coverage coverage
dj-database-url dj-database-url
django21: Django ~= 2.1 django21: Django ~= 2.1