Skip to content

Commit b4376c4

Browse files
authored
Adds tests for DRF (#2)
1 parent ade78da commit b4376c4

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

tests/test_django_sqids.py

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,51 @@ class Meta:
297297
Foo.objects.filter(hash_id="foo")
298298

299299

300+
def test_basic_serialization():
301+
from tests.test_app.models import TestModel
302+
303+
class TestModelSerializer(serializers.ModelSerializer):
304+
class Meta:
305+
model = TestModel
306+
fields = ["sqid"]
307+
308+
instance = TestModel.objects.create()
309+
serializer = TestModelSerializer(instance)
310+
serialized_data = serializer.data
311+
assert "sqid" in serializer.data
312+
assert serializer.data["sqid"] == instance.sqid
313+
314+
315+
def test_serialization_with_custom_config():
316+
from tests.test_app.models import TestModelWithDifferentConfig
317+
318+
class TestModelWithDifferentConfigSerializer(serializers.ModelSerializer):
319+
class Meta:
320+
model = TestModelWithDifferentConfig
321+
fields = ["sqid"]
322+
323+
instance = TestModelWithDifferentConfig.objects.create()
324+
serializer = TestModelWithDifferentConfigSerializer(instance)
325+
assert "sqid" in serializer.data
326+
327+
328+
def test_serialization_with_own_sqids_instance():
329+
from tests.test_app.models import TestModelWithOwnInstance
330+
331+
class TestModelWithOwnInstanceSerializer(serializers.ModelSerializer):
332+
class Meta:
333+
model = TestModelWithOwnInstance
334+
fields = ["sqid"]
335+
336+
instance = TestModelWithOwnInstance.objects.create()
337+
serializer = TestModelWithOwnInstanceSerializer(instance)
338+
339+
assert "sqid" in serializer.data, "Serialized data must include 'sqid' field"
340+
assert (
341+
serializer.data["sqid"] == instance.sqid
342+
), "The serialized 'sqid' should match the instance's sqid"
343+
344+
300345
def test_prefix_is_applied_correctly():
301346
from tests.test_app.models import TestModelWithPrefix
302347

@@ -483,3 +528,4 @@ def test_url_manually_with_prefix(client):
483528
response = client.get(url)
484529
assert response.status_code == 200
485530
assert response.context["object"] == instance
531+

0 commit comments

Comments
 (0)