From a487f85d2d1a7b70bd313df0fc4aa685f3d2e5b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20Beaul=C3=A9?= Date: Mon, 27 Feb 2023 21:40:33 -0400 Subject: [PATCH] Add tests for set_value() These tests follow the examples given in the method. --- tests/test_serializer.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/tests/test_serializer.py b/tests/test_serializer.py index afefd70e1..13e768a34 100644 --- a/tests/test_serializer.py +++ b/tests/test_serializer.py @@ -740,3 +740,24 @@ class TestDeclaredFieldInheritance: 'f4': serializers.CharField, 'f5': serializers.CharField, } + + +class TestSetValueMethod: + # Serializer.set_value() modifies the first parameter in-place. + + s = serializers.Serializer() + + def test_no_keys(self): + ret = {'a': 1} + self.s.set_value(ret, [], {'b': 2}) + assert ret == {'a': 1, 'b': 2} + + def test_one_key(self): + ret = {'a': 1} + self.s.set_value(ret, ['x'], 2) + assert ret == {'a': 1, 'x': 2} + + def test_nested_key(self): + ret = {'a': 1} + self.s.set_value(ret, ['x', 'y'], 2) + assert ret == {'a': 1, 'x': {'y': 2}}