From 5865ff5adcf64da03d306dc32b36e87ae6927c85 Mon Sep 17 00:00:00 2001 From: Csirmaz Bendegúz Date: Tue, 10 Sep 2024 04:46:50 +0800 Subject: Refs #373 -- Added Model._is_pk_set() abstraction to check if a Model's PK is set. --- tests/basic/tests.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'tests/basic') diff --git a/tests/basic/tests.py b/tests/basic/tests.py index 6d34a95805..cb267be0b1 100644 --- a/tests/basic/tests.py +++ b/tests/basic/tests.py @@ -661,6 +661,31 @@ class ModelTest(TestCase): headline__startswith="Area", ) + def test_is_pk_unset(self): + cases = [ + Article(), + Article(id=None), + ] + for case in cases: + with self.subTest(case=case): + self.assertIs(case._is_pk_set(), False) + + def test_is_pk_set(self): + def new_instance(): + a = Article(pub_date=datetime.today()) + a.save() + return a + + cases = [ + Article(id=1), + Article(id=0), + Article.objects.create(pub_date=datetime.today()), + new_instance(), + ] + for case in cases: + with self.subTest(case=case): + self.assertIs(case._is_pk_set(), True) + class ModelLookupTest(TestCase): @classmethod -- cgit v1.3