async def METHOD_NAME():
    client = AsyncClient(app=app, base_url="http://testserver")
    async with client as client, LifespanManager(app):
        item = {
            "name": "test",
            "categories": [{"name": "test cat"}, {"name": "test cat2"}],
        }
        response = await client.post("/items/", json=item)
        item_check = Item(**response.json())
        assert item_check.id is not None
        assert item_check.categories[0].id is not None
        no_pk_item = (await client.get(f"/items/{item_check.id}")).json()
        assert no_pk_item == item
        no_pk_item2 = (await client.get(f"/items/fex/{item_check.id}")).json()
        assert no_pk_item2 == item
        no_pk_category = (
            await client.get(f"/categories/{item_check.categories[0].id}")
        ).json()
        assert no_pk_category == {
            "items": [
                {
                    "itemcategory": {"category": None, "id": 1, "item": None},
                    "name": "test",
                }
            ],
            "name": "test cat",
        }
        no_through_category = (
            await client.get(f"/categories/nt/{item_check.categories[0].id}")
        ).json()
        assert no_through_category == {
            "id": 1,
            "items": [{"id": 1, "name": "test"}],
            "name": "test cat",
        }
        no_through_category = (
            await client.get(f"/categories/ntp/{item_check.categories[0].id}")
        ).json()
        assert no_through_category == {"items": [{"name": "test"}], "name": "test cat"}