def METHOD_NAME(
    api_client: TestClient,
    unique_user: TestUser,
    route: RoutesBase,
    update_data: dict,
):
    data = {"name": random_string(10)}
    response = api_client.post(route.base, json=data, headers=unique_user.token)
    assert response.status_code == 201
    item = response.json()
    item_id = item["id"]
    # Update the item if the key is presetn in the update_data
    for key in update_data:
        if key in item:
            item[key] = update_data[key]
    response = api_client.put(route.item(item_id), json=item, headers=unique_user.token)
    assert response.status_code == 200
    response = api_client.get(route.item(item_id), headers=unique_user.token)
    item = response.json()
    for key, value in update_data.items():
        if key in item:
            assert item[key] == value