mirror of
https://github.com/Eledio/superfaktura-client.git
synced 2025-11-01 00:18:25 +01:00
test_client_contact: add tests
This commit is contained in:
52
test/test_client_contact.py
Normal file
52
test/test_client_contact.py
Normal file
@@ -0,0 +1,52 @@
|
||||
import pytest # type: ignore
|
||||
from unittest.mock import patch
|
||||
from superfaktura.client_contacts import (
|
||||
ClientContactModel,
|
||||
ClientContact,
|
||||
ClientException,
|
||||
)
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def client_contact():
|
||||
with patch("superfaktura.client_contacts.ClientContact", return_value=None):
|
||||
return ClientContact()
|
||||
|
||||
|
||||
def test_add_contact_success(client_contact):
|
||||
client = ClientContactModel(
|
||||
name="John Doe",
|
||||
)
|
||||
|
||||
with patch("superfaktura.superfaktura_api.SuperFakturaAPI.post") as mock_post:
|
||||
mock_post.return_value = {"error_message": "Client created"}
|
||||
assert client_contact.add_contact(contact=client)
|
||||
|
||||
|
||||
def test_add_contact_failed(client_contact):
|
||||
client = ClientContactModel(
|
||||
name="John Doe",
|
||||
)
|
||||
|
||||
with patch("superfaktura.superfaktura_api.SuperFakturaAPI.post") as mock_post:
|
||||
mock_post.return_value = {"error_message": "Client creation failed"}
|
||||
assert not client_contact.add_contact(contact=client)
|
||||
|
||||
|
||||
def test_list(client_contact):
|
||||
with patch("superfaktura.superfaktura_api.SuperFakturaAPI.get") as mock_get:
|
||||
mock_get.return_value = {"data": "test"}
|
||||
assert client_contact.list() == {"data": "test"}
|
||||
|
||||
|
||||
def test_get_client_exists(client_contact):
|
||||
with patch("superfaktura.superfaktura_api.SuperFakturaAPI.get") as mock_get:
|
||||
mock_get.return_value = {"Client": {"name": "John Doe", "id": 1}}
|
||||
assert client_contact.get_client(client_id=1).name == "John Doe"
|
||||
|
||||
|
||||
def test_get_client_not_exists(client_contact):
|
||||
with patch("superfaktura.superfaktura_api.SuperFakturaAPI.get") as mock_get:
|
||||
mock_get.return_value = {}
|
||||
with pytest.raises(ClientException):
|
||||
client_contact.get_client(client_id=1)
|
||||
Reference in New Issue
Block a user