mirror of
https://github.com/Eledio/superfaktura-client.git
synced 2025-11-01 00:18:25 +01:00
53 lines
1.7 KiB
Python
53 lines
1.7 KiB
Python
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)
|