def METHOD_NAME(
    staff_api_client, permission_manage_pages, menu_item, page
):
    # given
    staff_api_client.user.user_permissions.add(permission_manage_pages)
    variables = {"id": graphene.Node.to_global_id("MenuItem", menu_item.pk)}
    page.is_published = False
    page.save(update_fields=["is_published"])
    menu_item.page = page
    menu_item.save(update_fields=["page"])
    # when
    response = staff_api_client.post_graphql(QUERY_MENU_ITEM, variables)
    # then
    content = get_graphql_content(response)
    data = content["data"]["menuItem"]
    assert data["name"] == menu_item.name
    assert data["url"] == menu_item.url
    assert data["page"]["id"] == graphene.Node.to_global_id("Page", page.id)