def METHOD_NAME(
    staff_api_client,
    permission_group_manage_orders,
    draft_order,
    voucher,
    graphql_address_data,
):
    # given
    permission_group_manage_orders.user_set.add(staff_api_client.user)
    query = DRAFT_ORDER_UPDATE_MUTATION
    variables = {
        "id": Node.to_global_id("Order", draft_order.id),
        "voucher": Node.to_global_id("Voucher", voucher.id),
        "shippingAddress": graphql_address_data,
    }
    # when
    content = get_graphql_content(staff_api_client.post_graphql(query, variables))
    # then
    assert not content["data"]["draftOrderUpdate"]["errors"]
    draft_order.refresh_from_db()
    assert draft_order.should_refresh_prices