Skip to content

Commit dba561c

Browse files
committed
add many-to-many/foreign key tests apps to CI
1 parent a58e5e0 commit dba561c

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

.github/workflows/test-python.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,15 @@ jobs:
9595
m2m_through
9696
m2m_through_regress
9797
m2o_recursive
98+
many_to_many
99+
many_to_one
100+
many_to_one_null
98101
model_fields
102+
mutually_referential
103+
nested_foreign_keys
104+
null_fk
105+
null_fk_ordering
106+
null_queries
99107
one_to_one
100108
ordering
101109
or_lookups

django_mongodb/features.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,11 @@ class DatabaseFeatures(BaseDatabaseFeatures):
6868
"aggregation.tests.AggregateTestCase.test_aggregation_default_passed_another_aggregate",
6969
"aggregation.tests.AggregateTestCase.test_annotation_expressions",
7070
"aggregation.tests.AggregateTestCase.test_reverse_fkey_annotate",
71+
# QuerySet.extra(where=...) should raise NotSupportedError instead of:
72+
# 'ExtraWhere' object has no attribute 'as_mql'.
73+
"many_to_one.tests.ManyToOneTests.test_selects",
74+
# QuerySet.delete() with JOIN should raise NotSupportedError.
75+
"many_to_one.tests.ManyToOneTests.test_delete",
7176
}
7277
# $bitAnd, #bitOr, and $bitXor are new in MongoDB 6.3.
7378
_django_test_expected_failures_bitwise = {
@@ -112,6 +117,12 @@ def django_test_expected_failures(self):
112117
"QuerySet.prefetch_related() is not supported on MongoDB.": {
113118
"m2m_through_regress.test_multitable.MultiTableTests.test_m2m_prefetch_proxied",
114119
"m2m_through_regress.test_multitable.MultiTableTests.test_m2m_prefetch_reverse_proxied",
120+
"many_to_many.tests.ManyToManyTests.test_add_after_prefetch",
121+
"many_to_many.tests.ManyToManyTests.test_add_then_remove_after_prefetch",
122+
"many_to_many.tests.ManyToManyTests.test_clear_after_prefetch",
123+
"many_to_many.tests.ManyToManyTests.test_create_after_prefetch",
124+
"many_to_many.tests.ManyToManyTests.test_remove_after_prefetch",
125+
"many_to_many.tests.ManyToManyTests.test_set_after_prefetch",
115126
},
116127
"QuerySet.update() with expression not supported.": {
117128
"annotations.tests.AliasTests.test_update_with_alias",
@@ -182,6 +193,7 @@ def django_test_expected_failures(self):
182193
"lookup.tests.LookupTests.test_filter_by_reverse_related_field_transform",
183194
"lookup.tests.LookupTests.test_in_ignore_none_with_unhashable_items",
184195
"m2m_through_regress.tests.ThroughLoadDataTestCase.test_sequence_creation",
196+
"many_to_many.tests.ManyToManyTests.test_add_remove_invalid_type",
185197
"model_fields.test_autofield.AutoFieldTests",
186198
"model_fields.test_autofield.BigAutoFieldTests",
187199
"model_fields.test_autofield.SmallAutoFieldTests",
@@ -232,6 +244,7 @@ def django_test_expected_failures(self):
232244
"lookup.tests.LookupTests.test_exact_exists",
233245
"lookup.tests.LookupTests.test_nested_outerref_lhs",
234246
"lookup.tests.LookupQueryingTests.test_filter_exists_lhs",
247+
"null_queries.tests.NullQueriesTests.test_reverse_relations",
235248
"queries.tests.ExcludeTest17600.test_exclude_plain",
236249
"queries.tests.ExcludeTest17600.test_exclude_with_q_is_equal_to_plain_exclude_variation",
237250
"queries.tests.ExcludeTest17600.test_exclude_with_q_object_no_distinct",
@@ -314,6 +327,14 @@ def django_test_expected_failures(self):
314327
"lookup.tests.LookupTests.test_exact_sliced_queryset_limit_one",
315328
"lookup.tests.LookupTests.test_exact_sliced_queryset_limit_one_offset",
316329
"lookup.tests.LookupTests.test_in_different_database",
330+
"many_to_many.tests.ManyToManyTests.test_assign",
331+
"many_to_many.tests.ManyToManyTests.test_assign_ids",
332+
"many_to_many.tests.ManyToManyTests.test_clear",
333+
"many_to_many.tests.ManyToManyTests.test_remove",
334+
"many_to_many.tests.ManyToManyTests.test_reverse_assign_with_queryset",
335+
"many_to_many.tests.ManyToManyTests.test_set",
336+
"many_to_many.tests.ManyToManyTests.test_set_existing_different_type",
337+
"many_to_one.tests.ManyToOneTests.test_get_prefetch_queryset_reverse_warning",
317338
"model_fields.test_jsonfield.TestQuerying.test_usage_in_subquery",
318339
"one_to_one.tests.OneToOneTests.test_get_prefetch_queryset_warning",
319340
"one_to_one.tests.OneToOneTests.test_rel_pk_subquery",
@@ -360,6 +381,7 @@ def django_test_expected_failures(self):
360381
"annotations.tests.AliasTests.test_dates_alias",
361382
"dates.tests.DatesTests.test_dates_trunc_datetime_fields",
362383
"dates.tests.DatesTests.test_related_model_traverse",
384+
"many_to_one.tests.ManyToOneTests.test_select_related",
363385
},
364386
"QuerySet.datetimes() is not supported on MongoDB.": {
365387
"annotations.tests.AliasTests.test_datetimes_alias",
@@ -376,6 +398,9 @@ def django_test_expected_failures(self):
376398
"QuerySet.distinct() is not supported.": {
377399
"aggregation.tests.AggregateTestCase.test_sum_distinct_aggregate",
378400
"lookup.tests.LookupTests.test_lookup_collision_distinct",
401+
"many_to_many.tests.ManyToManyTests.test_reverse_selects",
402+
"many_to_many.tests.ManyToManyTests.test_selects",
403+
"many_to_one.tests.ManyToOneTests.test_reverse_selects",
379404
"ordering.tests.OrderingTests.test_orders_nulls_first_on_filtered_subquery",
380405
"queries.tests.ExcludeTest17600.test_exclude_plain_distinct",
381406
"queries.tests.ExcludeTest17600.test_exclude_with_q_is_equal_to_plain_exclude",

0 commit comments

Comments
 (0)