Coverage for users\test\test_client.py: 100%
20 statements
« prev ^ index » next coverage.py v7.10.7, created at 2025-10-13 15:18 +0200
« prev ^ index » next coverage.py v7.10.7, created at 2025-10-13 15:18 +0200
1from django.test import TestCase
2from users.models.base_user import User
3from users.models.client import ClientProfile
4from users.serializers.client import ClientSerializer, ClientFullSerializer
7class ClientModelSerializerTest(TestCase):
8 def setUp(self):
9 self.user = User.objects.create_user(email='client@example.com', password='P@ssword123456789', role='client')
11 def test_client_model_generates_encrypted_key(self):
12 client = ClientProfile.objects.create(user=self.user, nom='Durand', prenom='Alice', telephone='0601020304')
13 self.assertIsNotNone(client.cle_chiffree)
14 self.assertEqual(len(client.cle_chiffree), 64) # SHA256
16 def test_client_serializer_output(self):
17 client = ClientProfile.objects.create(user=self.user, nom='Durand', prenom='Alice', telephone='0601020304')
18 serializer = ClientFullSerializer(instance=client)
19 self.assertEqual(serializer.data['nom'], 'Durand')
20 self.assertIn('cle_chiffree', serializer.data)
21 self.assertEqual(serializer.data['cle_chiffree'], client.cle_chiffree)
23 def test_client_create_is_a_client(self):
24 client = ClientProfile.objects.create(user=self.user, nom='Durand', prenom='Alice', telephone='0601020304')
25 self.assertEqual(client.user.role, 'client')