| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 | # (c) Nelen & Schuurmansfrom unittest import mockimport pytestfrom clean_python import Filterfrom clean_python import Managefrom clean_python import RootEntityclass User(RootEntity):    name: strclass ManageUser(Manage[User]):    def __init__(self):        self.repo = mock.AsyncMock()@pytest.fixturedef manage_user():    return ManageUser()async def test_retrieve(manage_user):    result = await manage_user.retrieve(2)    manage_user.repo.get.assert_awaited_with(2)    assert result is manage_user.repo.get.return_valueasync def test_create(manage_user):    result = await manage_user.create({"name": "piet"})    manage_user.repo.add.assert_awaited_once_with({"name": "piet"})    assert result is manage_user.repo.add.return_valueasync def test_update(manage_user):    manage_user.repo.get.return_value = User.create(id=2, name="piet")    result = await manage_user.update(2, {"name": "jan"})    manage_user.repo.update.assert_awaited_once_with(2, {"name": "jan"})    assert result is manage_user.repo.update.return_valueasync def test_destroy(manage_user):    result = await manage_user.destroy(2)    manage_user.repo.remove.assert_awaited_with(2)    assert result is manage_user.repo.remove.return_valueasync def test_list(manage_user):    result = await manage_user.list()    manage_user.repo.all.assert_awaited_once()    assert result is manage_user.repo.all.return_valueasync def test_by(manage_user):    result = await manage_user.by("name", "piet")    manage_user.repo.by.assert_awaited_with("name", "piet", params=None)    assert result is manage_user.repo.by.return_valueasync def test_filter(manage_user):    filters = [Filter(field="x", values=[1])]    result = await manage_user.filter(filters)    manage_user.repo.filter.assert_awaited_once_with(filters, params=None)    assert result is manage_user.repo.filter.return_valueasync def test_count(manage_user):    filters = [Filter(field="x", values=[1])]    result = await manage_user.count(filters)    manage_user.repo.count.assert_awaited_once_with(filters)    assert result is manage_user.repo.count.return_valueasync def test_exists(manage_user):    filters = [Filter(field="x", values=[1])]    result = await manage_user.exists(filters)    manage_user.repo.exists.assert_awaited_once_with(filters)    assert result is manage_user.repo.exists.return_value
 |