Commit Graph

63 Commits (76871e3863a3358d2ec81767e7a936538d5ebf19)

Author SHA1 Message Date
Chris Glass 76871e3863 Fix warnings
This is a little uncertain - while it does fix warnings I'm not sure the
removed assertion were actually useful in checking the behavior, and I'm
not certain how to recreate the assertion without using the depracated
path.
2020-08-14 16:32:18 +02:00
Chris Glass 6be20c14be Fix PY3 reference in tests
We only ever build for py3 now, the compat reference was useless.
2020-08-14 11:05:32 +02:00
Bastien Vallet 68605ba2ba [compat] Remove PY2 compat artefacts
- No need to specific types
- Remove __future__ imports
2020-08-04 14:49:40 +02:00
Diederik van der Boor db864cd8a8
Corrected black code wrapping when lines had long comments. 2019-07-15 18:10:05 +02:00
Diederik van der Boor 6af023dafd
Added unit test for refresh_from_db() 2019-07-15 17:56:53 +02:00
Diederik van der Boor 59c020ee50
Reformat all files with isort and black 2019-07-15 09:50:15 +02:00
Diederik van der Boor 49f89ffb21
Fix random unit test failing due to model ordering 2019-07-12 17:53:16 +02:00
Diederik van der Boor 8fb8f47fb0
Fix compatibility with Django 3.0 alpha
Removed django.utils.six dependency, copied the parts we still need for
Python 2 compatibility.
2019-07-12 17:39:59 +02:00
Diederik van der Boor f769ed7568
Fix dealing with missing derived table data with new prefetching code 2019-07-12 10:01:40 +02:00
Diederik van der Boor 3d9587acfb
Merge PR #353 2019-07-12 09:45:21 +02:00
Diederik van der Boor 4f89a879c0
Add tests for missing content types 2019-07-12 09:43:11 +02:00
Diederik van der Boor ec3fb34f08
Merge pull request #365 from ghost/fix/37-subclass-selector-on-abstract-proxy-models
#37: Fix model subclass ___ selector for abstract/proxy models
2019-07-11 22:12:24 +02:00
Diederik van der Boor a1c779a295
Merge pull request #369 from marksweb/fix/202
Raise `PolymorphicTypeInvalid` instead of cause `TypeError`
2019-07-11 22:09:14 +02:00
gtors f06a02a3d0 Issue #373 : Fix bug with get_real_instances on empty base_result_objects 2019-07-11 21:59:46 +02:00
Diederik van der Boor 26fac56e31
Squash Merge PR #379 for Django 2.2 support
Author: Asif Saif Uddin <auvipy@gmail.com>
Author: jeff <jeff@mighty.com>
2019-07-11 21:57:46 +02:00
Mark Walker 3d9ac45cec Correct the docstring for the invalid test. 2018-11-22 20:12:48 +00:00
Mark Walker fd9d0fa2b8 Raise exception instead of cause `TypeError` when `polymorphic_ctype_id` is invalid. 2018-11-22 20:05:57 +00:00
Lukasz Zdun 14b31bed4c #37: Fix model subclass ___ selector for abstract/proxy models 2018-09-29 09:16:16 +02:00
Diederik van der Boor 9042fdd689
Replace instance_of OR query with IN statement 2018-08-24 11:16:30 +02:00
Diederik van der Boor 5f50aa1dca
fix test warnings about \d+ escape 2018-08-23 14:24:32 +02:00
Markus Grimm 0f6352d74d Added test 2018-08-09 09:13:48 +02:00
Diederik van der Boor ff57aa57a3 include test for missing Meta.manager_inheritance_from_future 2018-02-05 13:31:00 +01:00
Diederik van der Boor f898f80594 Fixed unwanted manager replacement in Django 1.11 projects.
Django 1.11 uses the old manager inheritance system, unless it's
overwritten with manager_inheritance_from_future. With a class layout
like:

  PolymorphicModel  (abstract)
    PolymorphicMPTTModel  (abstract)
      GenericCustomer  (concrete, has objects = ...)
        CustomerGroupBase (abstract, has objects = ...)
          Partner (concrete, no manager)
            BranchPartner  (concrete, no manager)

The last level gets a normal Django Manager instead of the polymorphic
manager. Because the PolymorphicModel had a base_objects manager, this
was typically used as _default_manager. Now that the default manager is
no longer affected, it's also easier to detect why the "objects" doesn't
get the proper manager type. Using "manager_inheritance_from_future" is
recommended instead to have both the right behavior and forward
Django 2.x compatibility.
2018-02-04 13:22:51 +01:00
Charlie Denton ed40b9e3e2
Use assertRegex to ignore object IDs
Sometimes the tests failed because these objects had IDs that differed
from expectations. As the IDs are not relevant to this test, I have
replaced the exact string match with a regex match that accepts any ID.
2018-01-17 22:02:19 +00:00
Charlie Denton 3f6d94139c
Remove unused function in tests 2018-01-16 10:54:33 +00:00
Charlie Denton e2bf741d5d
Remove models that are not referenced in tests
This silences one instance of the warning that's being printed in tests
for versions of Django before 2.0:

> RemovedInDjango20Warning: Managers from concrete parents will soon
> qualify as default managers if they appear before any other managers
> in the MRO.
2018-01-16 10:53:35 +00:00
Charlie Denton 1a4595f5ce
Fix deprecated admin site URL in tests
The old format was deprecated in Django 1.9, and removed in Django 2.0.

Ref: https://docs.djangoproject.com/en/stable/releases/1.9/#passing-a-3-tuple-or-an-app-name-to-include
2018-01-16 10:53:34 +00:00
Diederik van der Boor 7fe7861f45 Amend PR #336: fix migration file syntax for Django 1.10 2018-01-15 15:08:14 +01:00
Krzysztof Gromadzki 8dc9bd2543 Review applied 2017-12-31 17:14:23 +01:00
Krzysztof Gromadzki 010a23425f Add support for bulk_create 2017-12-29 19:05:57 +01:00
Diederik van der Boor 8f0932b71e Fixed applabel__ModelName___field looksups
Closes: #286
2017-11-20 15:19:21 +01:00
Diederik van der Boor 2e16112cbe Merge branch 'fix-defer-childs-same-polymorphic-parent' into master 2017-09-30 20:26:37 +02:00
Diederik van der Boor fb80233c5d Fix one Django-master error 2017-09-30 18:57:31 +02:00
Diederik van der Boor c795c18575 Add admin history, add type, and add page tests 2017-09-30 18:33:19 +02:00
Diederik van der Boor a950049356 Improved and added more admin test cases 2017-09-30 18:16:59 +02:00
Diederik van der Boor 8d4cb9b151 Added rudimentary admin test cases 2017-09-30 17:47:02 +02:00
Diederik van der Boor 04d4181e17 Added `get_base_polymorphic_model()` to detect the common base class for a polymorphic model. 2017-09-30 16:21:21 +02:00
Hugo Osvaldo Barrera e102a0502c Update a bunch of failing tests
Tests were failing because of:

* Models weren't being imported from their new location.
* PolymorphicManager doesn't work with non-polymorphic models, but
  migrations run models' manager, so having MROBase3 with
  PolymorphicManager failed.
* Some tests failed due to have assertions were being done (since they
  hardcoded expected instance ids). Update tests to use comparisons
  similar to #312
2017-09-06 20:06:25 -03:00
Hugo Osvaldo Barrera a507345c6d Move test models into models.py and add migrations
Tests were failing on postgres due to foreign keys pointing to missing
tables.
In order for these tables to be present, we need migrations which
declare depending on `content_type`.
2017-09-06 19:47:18 -03:00
Hugo Osvaldo Barrera 80b4f2bb41 Fix failing tests with django/master
Several tests were failing with django master. This is because,
apparently, IDs don't match those expected in tests, and other
test-related details.

Replace all test comparisons with assertQuerysetEqual, which is safer
and cleaner for the sort of comparison we're doing.
2017-09-06 22:41:13 +03:00
trbs 9500a21f82 fix error with .defer and child models that use the same parent
When using .defer on a PolymorphicQuerySet with multiple childs that
subclass from the same polymorphic parent model yield an error like:

>>> Base.objects.defer('ModelY___field_y')
Traceback (most recent call last):
...
FieldDoesNotExist: ModelX has no field named 'field_y'
2017-08-30 21:17:05 +02:00
Jerome Leclanche 3af5db0ceb tests: Clean up and simplify test_reset_polymorphic_ctype 2017-08-29 19:41:42 +03:00
Jerome Leclanche 0c7b1aa657 Drop support for Django 1.8 2017-08-29 19:41:42 +03:00
Diederik van der Boor 77797bfa12 Ensure consistent ordering in testing reset_polymorphic_ctype
Amends: 171d14f369
2017-08-01 13:51:42 +02:00
Diederik van der Boor 171d14f369 Improve reset_polymorphic_ctype() for reliability and test it.
This function can now be safely used on a set of models.
2017-08-01 12:17:10 +02:00
Diederik van der Boor e10deeaebd Remove test imports that Django 1.5- required 2017-08-01 12:17:10 +02:00
Diederik van der Boor fb8eed78ad Provide a better error message when polymorphic_ctype_id is Null
refs #51, #140, #304
2017-08-01 11:44:21 +02:00
Diederik van der Boor b772c06358 move contrib tests to separate file 2017-08-01 11:44:21 +02:00
Tadas Dailyda 0fea8a4d92 tests for abstract/swappable model initialization 2017-07-25 14:02:15 +03:00
Jerome Leclanche 1e7237986c Specify on_delete argument for all related fields that need it 2017-07-10 09:08:11 +03:00