Skip to content

Bundle Product Wishlist GraphQL Returns All Options Instead of Selected, Leading to Incorrect Price #39855

Open
@lintots

Description

@lintots

Preconditions and environment

When adding a bundle product to the wishlist via GraphQL, all available options are returned, even if some are not selected by the customer. This causes the default price to be shown instead of the customized price based on the selected options.

  1. Magento Version: The issue occurs on Magento 2.4.7-p3.
  2. Product Type: The issue occurs with Bundle Products in the catalog.
  3. Customer Wishlist: The customer must have at least one bundle product added to their wishlist.
  4. Selected Options: The customer must select specific options for the bundle product before adding it to the wishlist.
  5. GraphQL Queries: The issue is reproduced when using the GraphQL API for querying the wishlist.

Steps to reproduce

  1. Add a bundle product to the wishlist using the GraphQL mutation addProductsToWishlist.
  2. Select specific options for the bundle product (e.g., different sizes and colors).
  3. Query the wishlist using the GetWishlist query.
  4. Observe that all bundle options are returned, leading to the default price being shown.

Expected result

Only the selected bundle options should be returned in the GraphQL response, and the price should reflect the selected configuration (customized price).

Actual result

All options for the bundle product are returned, causing the default price to be displayed instead of the price for the selected options.

Additional information

query GetWishlist {
customer {
wishlists {
id
items {
id
qty
product {
name
sku
... on GroupedProduct {
grouped_items {
product {
name
sku
}
qty
}
}
... on BundleProduct {
items {
option_id
title
required
type
options {
id
label
quantity
product {
sku
name
price_range {
minimum_price {
final_price {
value
}
}
}
}
}
}
}
}
}
}
}
}
Output
{
"data": {
"customer": {
"wishlists": [
{
"id": "73",
"items": [
{
"id": 170,
"qty": 1,
"product": {
"name": "Sprite Yoga Companion Kit",
"sku": "24-WG080",
"items": [
{
"option_id": 1,
"title": "Sprite Stasis Ball",
"required": true,
"type": "radio",
"options": [
{
"id": 18,
"label": "Sprite Foam Yoga Brick",
"quantity": 1,
"product": {
"sku": "24-WG084",
"name": "Sprite Foam Yoga Brick",
"price_range": {
"minimum_price": {
"final_price": {
"value": 5
}
}
}
}
},
{
"id": 19,
"label": "Sprite Foam Roller",
"quantity": 1,
"product": {
"sku": "24-WG088",
"name": "Sprite Foam Roller",
"price_range": {
"minimum_price": {
"final_price": {
"value": 19
}
}
}
}
}
]
},
{
"option_id": 2,
"title": "Sprite Foam Yoga Brick",
"required": true,
"type": "radio",
"options": [
{
"id": 20,
"label": "Sprite Stasis Ball 55 cm",
"quantity": 1,
"product": {
"sku": "24-WG081-pink",
"name": "Sprite Stasis Ball 55 cm",
"price_range": {
"minimum_price": {
"final_price": {
"value": 23
}
}
}
}
},
{
"id": 22,
"label": "Sprite Stasis Ball 65 cm",
"quantity": 1,
"product": {
"sku": "24-WG082-gray",
"name": "Sprite Stasis Ball 65 cm",
"price_range": {
"minimum_price": {
"final_price": {
"value": 27
}
}
}
}
},
{
"id": 28,
"label": "Sprite Stasis Ball 75 cm",
"quantity": 1,
"product": {
"sku": "24-WG083-gray",
"name": "Sprite Stasis Ball 75 cm",
"price_range": {
"minimum_price": {
"final_price": {
"value": 32
}
}
}
}
}
]
},
{
"option_id": 3,
"title": "Sprite Yoga Strap",
"required": true,
"type": "radio",
"options": [
{
"id": 23,
"label": "Sprite Stasis Ball 55 cm",
"quantity": 1,
"product": {
"sku": "24-WG081-gray",
"name": "Sprite Stasis Ball 55 cm",
"price_range": {
"minimum_price": {
"final_price": {
"value": 23
}
}
}
}
}
]
},
{
"option_id": 4,
"title": "Sprite Foam Roller",
"required": true,
"type": "radio",
"options": [
{
"id": 24,
"label": "Sprite Stasis Ball 75 cm",
"quantity": 1,
"product": {
"sku": "24-WG083-gray",
"name": "Sprite Stasis Ball 75 cm",
"price_range": {
"minimum_price": {
"final_price": {
"value": 32
}
}
}
}
},
{
"id": 25,
"label": "Sprite Stasis Ball 65 cm",
"quantity": 1,
"product": {
"sku": "24-WG082-blue",
"name": "Sprite Stasis Ball 65 cm",
"price_range": {
"minimum_price": {
"final_price": {
"value": 27
}
}
}
}
}
]
}
]
}
}
]
}
]
}
}
}

Release note

No response

Triage and priority

  • Severity: S0 - Affects critical data or functionality and leaves users without workaround.
  • Severity: S1 - Affects critical data or functionality and forces users to employ a workaround.
  • Severity: S2 - Affects non-critical data or functionality and forces users to employ a workaround.
  • Severity: S3 - Affects non-critical data or functionality and does not force users to employ a workaround.
  • Severity: S4 - Affects aesthetics, professional look and feel, “quality” or “usability”.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area: ProductComponent: BundleGraphQlIssue: ConfirmedGate 3 Passed. Manual verification of the issue completed. Issue is confirmedPriority: P2A defect with this priority could have functionality issues which are not to expectations.Reported on 2.4.7-p3Indicates original Magento version for the Issue report.Reproduced on 2.4.xThe issue has been reproduced on latest 2.4-develop branch

    Type

    No type

    Projects

    Status

    Ready for Development

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions