This commit is contained in:
36
backend/modules/crm/tests/test_services.py
Normal file
36
backend/modules/crm/tests/test_services.py
Normal file
@@ -0,0 +1,36 @@
|
||||
import uuid
|
||||
from django.test import TestCase
|
||||
from rest_framework.exceptions import ValidationError
|
||||
from modules.crm.services import ClientService
|
||||
from modules.crm.models import Client
|
||||
|
||||
|
||||
class ClientServiceTests(TestCase):
|
||||
def setUp(self):
|
||||
self.base_data = {
|
||||
"name": "Service Client",
|
||||
"client_type": "legal",
|
||||
"tax_id": str(uuid.uuid4()),
|
||||
"email": f"client+{uuid.uuid4()}@example.test",
|
||||
"address": "Street 1",
|
||||
"city": "City",
|
||||
"postal_code": "00000",
|
||||
}
|
||||
|
||||
def test_create_client_success(self):
|
||||
client = ClientService.create_client(self.base_data)
|
||||
self.assertIsNotNone(client.pk)
|
||||
self.assertEqual(client.name, "Service Client")
|
||||
|
||||
def test_create_client_duplicate_tax_id_raises(self):
|
||||
# create first
|
||||
Client.objects.create(**self.base_data)
|
||||
dup = dict(self.base_data)
|
||||
dup["email"] = f"client+{uuid.uuid4()}@example.test"
|
||||
with self.assertRaises(ValidationError):
|
||||
ClientService.create_client(dup)
|
||||
|
||||
def test_update_client_success(self):
|
||||
client = Client.objects.create(**self.base_data)
|
||||
updated = ClientService.update_client(client, {"city": "NewCity"})
|
||||
self.assertEqual(updated.city, "NewCity")
|
||||
Reference in New Issue
Block a user