diff options
| author | Jon Janzen <jon@jonjanzen.com> | 2022-11-04 15:22:32 +0100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-11-08 06:20:10 +0100 |
| commit | 7b94847e384b1a8c05a7d4c8778958c0290bdf9a (patch) | |
| tree | 964697217d854fd45809273eb1a518cd92fd06a1 /tests/generic_relations | |
| parent | 76e37513e22f4d9a01c7f15eee36fe44388e6670 (diff) | |
Fixed #34139 -- Fixed acreate(), aget_or_create(), and aupdate_or_create() methods for related managers.
Bug in 58b27e0dbb3d31ca1438790870b2b51ecdb10500.
Diffstat (limited to 'tests/generic_relations')
| -rw-r--r-- | tests/generic_relations/tests.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/generic_relations/tests.py b/tests/generic_relations/tests.py index 29307237a2..e6bee11cdf 100644 --- a/tests/generic_relations/tests.py +++ b/tests/generic_relations/tests.py @@ -45,6 +45,10 @@ class GenericRelationsTests(TestCase): # Original list of tags: return obj.tag, obj.content_type.model_class(), obj.object_id + async def test_generic_async_acreate(self): + await self.bacon.tags.acreate(tag="orange") + self.assertEqual(await self.bacon.tags.acount(), 3) + def test_generic_update_or_create_when_created(self): """ Should be able to use update_or_create from the generic related manager @@ -70,6 +74,18 @@ class GenericRelationsTests(TestCase): self.assertEqual(count + 1, self.bacon.tags.count()) self.assertEqual(tag.tag, "juicy") + async def test_generic_async_aupdate_or_create(self): + tag, created = await self.bacon.tags.aupdate_or_create( + id=self.fatty.id, defaults={"tag": "orange"} + ) + self.assertIs(created, False) + self.assertEqual(tag.tag, "orange") + self.assertEqual(await self.bacon.tags.acount(), 2) + tag, created = await self.bacon.tags.aupdate_or_create(tag="pink") + self.assertIs(created, True) + self.assertEqual(await self.bacon.tags.acount(), 3) + self.assertEqual(tag.tag, "pink") + def test_generic_get_or_create_when_created(self): """ Should be able to use get_or_create from the generic related manager @@ -96,6 +112,18 @@ class GenericRelationsTests(TestCase): # shouldn't had changed the tag self.assertEqual(tag.tag, "stinky") + async def test_generic_async_aget_or_create(self): + tag, created = await self.bacon.tags.aget_or_create( + id=self.fatty.id, defaults={"tag": "orange"} + ) + self.assertIs(created, False) + self.assertEqual(tag.tag, "fatty") + self.assertEqual(await self.bacon.tags.acount(), 2) + tag, created = await self.bacon.tags.aget_or_create(tag="orange") + self.assertIs(created, True) + self.assertEqual(await self.bacon.tags.acount(), 3) + self.assertEqual(tag.tag, "orange") + def test_generic_relations_m2m_mimic(self): """ Objects with declared GenericRelations can be tagged directly -- the |
