|
6 | 6 |
|
7 | 7 | from django_memoized_prefetch import MemoizedPrefetch, MemoizedPrefetchConfig |
8 | 8 | from tests.test_project.test_app.factories import ( |
| 9 | + SomeChildModelFactory, |
9 | 10 | SomeDifferentParentModelFactory, |
10 | 11 | SomeModelFactory, |
11 | 12 | SomeParentModelFactory, |
@@ -115,6 +116,8 @@ def test_memoized_prefetch( |
115 | 116 | with django_assert_num_queries(0): # all parents already fetched |
116 | 117 | memoized_prefetch.process_chunk(objects) |
117 | 118 |
|
| 119 | + assert objects |
| 120 | + |
118 | 121 | for obj in objects: |
119 | 122 | # does not throw seal attribute -> fetched in process_chunk |
120 | 123 | assert obj.some_parent_model is not None |
@@ -151,6 +154,8 @@ def test_memoized_prefetch_many_to_many( |
151 | 154 | with django_assert_num_queries(0): # already fetched |
152 | 155 | memoized_prefetch.process_chunk(objects) |
153 | 156 |
|
| 157 | + assert objects |
| 158 | + |
154 | 159 | for obj in objects: |
155 | 160 | related_models = list(obj.some_related_models.all()) |
156 | 161 | assert len(related_models) == 2 |
@@ -178,22 +183,24 @@ def test_nullable_field( |
178 | 183 | @pytest.fixture |
179 | 184 | def child_models(self, objects_some_different_parent_a, objects_some_different_parent_b) -> list[SomeChildModel]: |
180 | 185 | return [ |
181 | | - SomeChildModel(some_model=some_model) |
| 186 | + SomeChildModelFactory(some_model=some_model) |
182 | 187 | for some_model in itertools.chain(objects_some_different_parent_a, objects_some_different_parent_b) |
183 | 188 | ] |
184 | 189 |
|
185 | 190 | def test_nested(self, child_models: list[SomeChildModel]): |
186 | 191 | memoized_prefetch = MemoizedPrefetch( |
187 | 192 | MemoizedPrefetchConfig(SomeParentModel, ["some_model__some_parent_model"], prefetch_all=True), |
188 | 193 | MemoizedPrefetchConfig( |
189 | | - SomeDifferentParentModel, ["some_model__some_other_different_parent"] |
| 194 | + SomeDifferentParentModel, ["some_model.some_other_different_parent"] |
190 | 195 | ), # support both . and __ |
191 | 196 | ) |
192 | 197 |
|
193 | 198 | objects = list(SomeChildModel.objects.select_related("some_model").seal()) |
194 | 199 |
|
195 | 200 | memoized_prefetch.process_chunk(objects) |
196 | 201 |
|
| 202 | + assert objects |
| 203 | + |
197 | 204 | for obj in objects: |
198 | 205 | # does not throw seal attribute -> fetched in process_chunk |
199 | 206 | assert obj.some_model.some_parent_model is not None |
|
0 commit comments