Skip to content
This repository was archived by the owner on Dec 19, 2019. It is now read-only.
This repository was archived by the owner on Dec 19, 2019. It is now read-only.

[Cart Operations] Manage Cart Items #37

Closed
@misha-kotov

Description

@misha-kotov

As a Magento developer, I need to manipulate the shopping cart via GraphQL so that I can build basic ecommerce experiences for shoppers on the front-end using only GraphQL.

GraphQL needs to provide sufficient mutations (ways to create/update/delete data) for a developer to build out the storefront checkout experience for a shopper.

Use cases:

  • Both guest and registered shoppers can add new items to cart
  • Both guest and registered shoppers can update item qty in cart
  • Both guest and registered shoppers can remove items from cart
  • Both guest and registered shoppers can update the configuration (for a configurable product) or quantity of a previously added configurable product in cart
    • Edit Item link > Product page > Update configuration or qty > Update Cart

Acceptance criteria:

  • Cart operations should be useable in both standard Cart and mini-cart
  • GraphQL provides the following mutations:
    • addCartItems
    • updateCartItems
    • removeCartItems
  • updateCartItems mutation allows the cart item quantity to be updated in a shopper's cart
  • All product types are supported in a modular way (e.g. configurable-related schema and resolvers must be declared in ConfigurableProductGraphQl module and the rest of the system should still work if this module is disabled)
  • Depending on token in Authorization header (if any), customer or guest service contract should be used
  • Changes are covered with web API functional tests. See \Magento\GraphQl\TestModule\GraphQlMutationTest::testMutation as an example.

Proposed schema

My Account area impacted:

  • Cart
  • Minicart

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions