def METHOD_NAME(
    warehouses, product_with_multiple_values_attributes, channel_PLN, channel_USD
):
    # given
    warehouse_ids = [w.pk for w in warehouses]
    attribute_ids = [str(attr.pk) for attr in Attribute.objects.all()]
    channel_ids = [channel_PLN.pk, channel_USD.pk]
    export_info = {
        "fields": [
            ProductFieldEnum.COLLECTIONS.value,
            ProductFieldEnum.DESCRIPTION.value,
        ],
        "warehouses": warehouse_ids,
        "attributes": attribute_ids,
        "channels": channel_ids,
    }
    expected_file_headers = [
        "id",
        "collections",
        "description",
    ]
    # when
    (
        export_fields,
        file_headers,
        data_headers,
    ) = get_product_export_fields_and_headers_info(export_info)
    # then
    expected_fields = [
        "id",
        "collections__slug",
        "description_as_str",
    ]
    product_headers = []
    variant_headers = []
    for attr in Attribute.objects.all().order_by("slug"):
        if attr.product_types.exists():
            product_headers.append(f"{attr.slug} (product attribute)")
        if attr.product_variant_types.exists():
            variant_headers.append(f"{attr.slug} (variant attribute)")
    warehouse_headers = [f"{w.slug} (warehouse quantity)" for w in warehouses]
    channel_headers = []
    for channel in Channel.objects.all().order_by("slug"):
        slug = channel.slug
        for field in [
            "product currency code",
            "published",
            "publication date",
            "published at",
            "searchable",
            "available for purchase",
            "price amount",
            "variant currency code",
            "variant cost price",
            "variant preorder quantity threshold",
        ]:
            channel_headers.append(f"{slug} (channel {field})")
    excepted_headers = (
        expected_fields
        + product_headers
        + variant_headers
        + warehouse_headers
        + channel_headers
    )
    expected_file_headers += (
        product_headers + variant_headers + warehouse_headers + channel_headers
    )
    assert expected_file_headers == file_headers
    assert set(export_fields) == set(expected_fields)
    assert data_headers == excepted_headers