def METHOD_NAME(
    staff_api_client, sale, permission_manage_discounts, channel_USD
):
    query = """
        query sales($channel: String) {
            sales(first: 1, channel: $channel) {
                edges {
                    node {
                        type
                        products(first: 1) {
                            edges {
                                node {
                                    name
                                }
                            }
                        }
                        discountValue
                        name
                        channelListings {
                            discountValue
                        }
                        startDate
                    }
                }
            }
        }
    """
    variables = {"channel": channel_USD.slug}
    response = staff_api_client.post_graphql(
        query, variables, permissions=[permission_manage_discounts]
    )
    channel_listing = sale.channel_listings.get()
    content = get_graphql_content(response)
    data = content["data"]["sales"]["edges"][0]["node"]
    assert data["type"] == sale.type.upper()
    assert data["name"] == sale.name
    assert data["products"]["edges"][0]["node"]["name"] == sale.products.first().name
    assert data["discountValue"] == channel_listing.discount_value
    assert data["channelListings"][0]["discountValue"] == channel_listing.discount_value
    assert data["startDate"] == sale.start_date.isoformat()