def METHOD_NAME(
    product_variant_out_of_stock_webhook,
    staff_api_client,
    warehouse,
    permission_manage_products,
    variant_with_many_stocks,
):
    # given
    old_first_stock = Stock.objects.first()
    warehouse_id = graphene.Node.to_global_id("Warehouse", warehouse.pk)
    assert Warehouse.objects.count() == 3
    assert Stock.objects.count() == 3
    # when
    response = staff_api_client.post_graphql(
        MUTATION_DELETE_WAREHOUSE,
        variables={"id": warehouse_id},
        permissions=[permission_manage_products],
    )
    # then
    content = get_graphql_content(response)
    errors = content["data"]["deleteWarehouse"]["errors"]
    assert len(errors) == 0
    assert Warehouse.objects.count() == 2
    assert Stock.objects.count() == 2
    product_variant_out_of_stock_webhook.assert_called_once_with(old_first_stock)