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

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 

5 

6 

7class ClientModelSerializerTest(TestCase): 

8 def setUp(self): 

9 self.user = User.objects.create_user(email='client@example.com', password='P@ssword123456789', role='client') 

10 

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 

15 

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) 

22 

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')