From d5bcdf858d962d02de925603c17986980f03729a Mon Sep 17 00:00:00 2001 From: DevilsAutumn Date: Sun, 30 Oct 2022 22:21:54 +0530 Subject: Fixed #34112 -- Added async-compatible interface to Model methods. Thanks Adam Johnson for the review. --- tests/async/test_async_model_methods.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 tests/async/test_async_model_methods.py (limited to 'tests') diff --git a/tests/async/test_async_model_methods.py b/tests/async/test_async_model_methods.py new file mode 100644 index 0000000000..94e0370e35 --- /dev/null +++ b/tests/async/test_async_model_methods.py @@ -0,0 +1,25 @@ +from django.test import TestCase + +from .models import SimpleModel + + +class AsyncModelOperationTest(TestCase): + @classmethod + def setUpTestData(cls): + cls.s1 = SimpleModel.objects.create(field=0) + + async def test_asave(self): + self.s1.field = 10 + await self.s1.asave() + refetched = await SimpleModel.objects.aget() + self.assertEqual(refetched.field, 10) + + async def test_adelete(self): + await self.s1.adelete() + count = await SimpleModel.objects.acount() + self.assertEqual(count, 0) + + async def test_arefresh_from_db(self): + await SimpleModel.objects.filter(pk=self.s1.pk).aupdate(field=20) + await self.s1.arefresh_from_db() + self.assertEqual(self.s1.field, 20) -- cgit v1.3