33 lines
1.4 KiB
Python
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)
|