def METHOD_NAME(
    mocked_webhook_trigger,
    mocked_get_webhooks_for_event,
    any_webhook,
    staff_api_client,
    menu,
    permission_manage_menus,
    settings,
):
    # given
    mocked_get_webhooks_for_event.return_value = [any_webhook]
    settings.PLUGINS = ["saleor.plugins.webhook.plugin.WebhookPlugin"]
    name = "Blue oyster menu"
    variables = {
        "id": graphene.Node.to_global_id("Menu", menu.pk),
        "name": name,
        "slug": "new-slug",
    }
    # when
    response = staff_api_client.post_graphql(
        UPDATE_MENU_WITH_SLUG_MUTATION, variables, permissions=[permission_manage_menus]
    )
    content = get_graphql_content(response)
    # then
    assert content["data"]["menuUpdate"]["menu"]
    mocked_webhook_trigger.assert_called_once_with(
        json.dumps(
            {
                "id": variables["id"],
                "slug": variables["slug"],
                "meta": generate_meta(
                    requestor_data=generate_requestor(
                        SimpleLazyObject(lambda: staff_api_client.user)
                    )
                ),
            },
            cls=CustomJsonEncoder,
        ),
        WebhookEventAsyncType.MENU_UPDATED,
        [any_webhook],
        menu,
        SimpleLazyObject(lambda: staff_api_client.user),
    )