TaxisLibrary/tests/test_drivers.py

33 lines
1.4 KiB
Python

import pytest, asyncio
from TaxisLibrary.taxis_client import TaxisClient, DriverIn, DriverOut, DriverAddressUpdate, DriverStatus
@pytest.fixture
def client():
c = TaxisClient("http://127.0.0.1:7000")
asyncio.run(c.login("root", "12345"))
return c
class TestDrivers:
@pytest.mark.asyncio
async def test_create_driver(self, client):
driver = DriverIn(name="Ivan", phone="+79281234567")
result = await client.create_driver(driver)
assert isinstance(result, DriverOut)
await client.delete_driver(result.id)
@pytest.mark.asyncio
async def test_get_and_update_driver(self, client):
d = await client.create_driver(DriverIn(name="Test", phone="+79281234568"))
got = await client.get_driver(d.id)
assert isinstance(got, DriverOut)
updated = await client.update_driver(d.id, DriverIn(name="Updated", phone="79281234568"))
assert isinstance(updated, DriverOut)
await client.delete_driver(d.id)
@pytest.mark.asyncio
async def test_update_driver_status_and_address(self, client):
d = await client.create_driver(DriverIn(name="Status", phone="79281234569"))
await client.update_driver_status(d.id, DriverStatus.FREE)
await client.update_driver_address(d.id, DriverAddressUpdate(address="город Ставрополь улица Мира 10"))
await client.delete_driver(d.id)