Skip to content

Commit

Permalink
Test serialization of phone numbers
Browse files Browse the repository at this point in the history
  • Loading branch information
francoisfreitag committed May 2, 2023
1 parent 64a726d commit 5110dc1
Showing 1 changed file with 18 additions and 1 deletion.
19 changes: 18 additions & 1 deletion tests/test_serializers.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from django.test import SimpleTestCase, override_settings
from rest_framework import serializers
from rest_framework import renderers, serializers

from phonenumber_field.phonenumber import PhoneNumber
from phonenumber_field.serializerfields import PhoneNumberField
Expand Down Expand Up @@ -105,3 +105,20 @@ class PhoneNumberSerializer(serializers.Serializer):
serializer = PhoneNumberSerializer(data={"phone": "+33612345678"})
self.assertIs(serializer.is_valid(), True)
self.assertIs(serializer.is_valid(), True)

def test_serialization(self):
class PhoneNumberSerializer(serializers.Serializer):
phone = PhoneNumberField(region="FR")

for fmt, expected in [
("E164", b"+33612345678"),
("INTERNATIONAL", b"+33 6 12 34 56 78"),
("RFC3966", b"tel:+33-6-12-34-56-78"),
]:
with override_settings(PHONENUMBER_DEFAULT_FORMAT=fmt), self.subTest(fmt):
serializer = PhoneNumberSerializer(data={"phone": "0612345678"})
serializer.is_valid()
self.assertEqual(
b'{"phone":"%b"}' % expected,
renderers.JSONRenderer().render(serializer.data),
)

0 comments on commit 5110dc1

Please sign in to comment.