49 lines
1.4 KiB
Python
49 lines
1.4 KiB
Python
import pytest
|
|
import sys
|
|
from pathlib import Path
|
|
import json
|
|
|
|
from tryton_mcp.server import create_customer
|
|
|
|
|
|
sys.path.insert(0, str(Path(__file__).parent / "src"))
|
|
|
|
|
|
@pytest.mark.asyncio
|
|
class TestParty:
|
|
|
|
async def test_create_new_customer(self, mcp_client, mock_settings):
|
|
mock_client = mock_settings.get_client.return_value
|
|
mock_client.call.return_value = [1]
|
|
|
|
result = await mcp_client.call_tool(
|
|
"create_customer",
|
|
{
|
|
"name": "Alejandro Zapata",
|
|
"identifiers": [["create", [{"type": "mobile", "code": "310659595"}]]],
|
|
},
|
|
)
|
|
|
|
assert result.content is not None
|
|
assert len(result.content) == 1
|
|
assert result.content[0].text == "[1]"
|
|
|
|
async def test_find_customer(self, mcp_client, mock_settings):
|
|
|
|
expected_return = [
|
|
{'id': 19, 'party': 44, 'party.': {'name': 'Alejandro Zapata', 'id': 44}}
|
|
]
|
|
|
|
mock_client = mock_settings.get_client.return_value
|
|
mock_client.call.return_value = expected_return
|
|
|
|
result = await mcp_client.call_tool(
|
|
"find_customer_by_identifier",
|
|
{
|
|
"identifier": "310659595"
|
|
})
|
|
|
|
assert result.content is not None
|
|
assert len(result.content) == 1
|
|
assert json.loads(result.content[0].text) == expected_return
|