feat(medusa,pricing): Cart pricing context with customer group (#10579)
* fix(carts): Fixes cart modifications not accounting for certain price lists (#10493) *What* * Fixes #10490 * Expands any available customer_id into its customer_group_ids for cart updates that add line items. *Why* * Cart updates from the storefront were overriding any valid price lists that were correctly being shown in the storefront's product pages. *How* * Adds a new workflow step that expands an optional customer_id into the customer_group_ids it belongs to. * Uses this step in the addToCartWorkflow and updateLineItemInCartWorkflow workflows. *Testing* * Using medusa-dev to test on a local backend. * Adds integration tests for the addToCart and updateLineItemInCart workflows. Co-authored-by: Riqwan Thamir <rmthamir@gmail.com> * chore: update cart workflows to accept new pricing context * chore: add transfer specs * chore: fix specs * chore: modify types + specs * chore: add data migration + dashboard changes * chore: fix update line item workflow * chore: add changeset + unskip spec --------- Co-authored-by: Sergio Campamá <sergiocampama@gmail.com>
This commit is contained in:
co-authored by
Sergio Campamá
parent
0c49470066
commit
6367bccde8
@@ -1,3 +1,4 @@
|
||||
import { medusaIntegrationTestRunner } from "@medusajs/test-utils"
|
||||
import {
|
||||
ICustomerModuleService,
|
||||
IPricingModuleService,
|
||||
@@ -5,7 +6,6 @@ import {
|
||||
IRegionModuleService,
|
||||
} from "@medusajs/types"
|
||||
import { Modules, PriceListStatus, PriceListType } from "@medusajs/utils"
|
||||
import { medusaIntegrationTestRunner } from "@medusajs/test-utils"
|
||||
import { createAdminUser } from "../../../../helpers/create-admin-user"
|
||||
import { createVariantPriceSet } from "../../../helpers/create-variant-price-set"
|
||||
|
||||
@@ -94,7 +94,7 @@ medusaIntegrationTestRunner({
|
||||
},
|
||||
],
|
||||
rules: {
|
||||
customer_group_id: [customerGroup.id],
|
||||
"customer.groups.id": [customerGroup.id],
|
||||
},
|
||||
},
|
||||
])
|
||||
@@ -116,7 +116,7 @@ medusaIntegrationTestRunner({
|
||||
updated_at: expect.any(String),
|
||||
deleted_at: null,
|
||||
rules: {
|
||||
customer_group_id: [customerGroup.id],
|
||||
"customer.groups.id": [customerGroup.id],
|
||||
},
|
||||
prices: [
|
||||
{
|
||||
@@ -185,7 +185,7 @@ medusaIntegrationTestRunner({
|
||||
},
|
||||
],
|
||||
rules: {
|
||||
customer_group_id: [customerGroup.id],
|
||||
"customer.groups.id": [customerGroup.id],
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -206,7 +206,7 @@ medusaIntegrationTestRunner({
|
||||
},
|
||||
],
|
||||
rules: {
|
||||
customer_group_id: [customerGroup.id],
|
||||
"customer.groups.id": [customerGroup.id],
|
||||
},
|
||||
},
|
||||
])
|
||||
@@ -252,7 +252,7 @@ medusaIntegrationTestRunner({
|
||||
},
|
||||
],
|
||||
rules: {
|
||||
customer_group_id: [customerGroup.id],
|
||||
"customer.groups.id": [customerGroup.id],
|
||||
},
|
||||
},
|
||||
])
|
||||
@@ -276,7 +276,7 @@ medusaIntegrationTestRunner({
|
||||
updated_at: expect.any(String),
|
||||
deleted_at: null,
|
||||
rules: {
|
||||
customer_group_id: [customerGroup.id],
|
||||
"customer.groups.id": [customerGroup.id],
|
||||
},
|
||||
prices: [
|
||||
{
|
||||
@@ -342,7 +342,7 @@ medusaIntegrationTestRunner({
|
||||
status: "active",
|
||||
starts_at: new Date(),
|
||||
rules: {
|
||||
customer_group_id: [customerGroup.id],
|
||||
"customer.groups.id": [customerGroup.id],
|
||||
},
|
||||
prices: [
|
||||
{
|
||||
@@ -374,7 +374,7 @@ medusaIntegrationTestRunner({
|
||||
updated_at: expect.any(String),
|
||||
deleted_at: null,
|
||||
rules: {
|
||||
customer_group_id: [customerGroup.id],
|
||||
"customer.groups.id": [customerGroup.id],
|
||||
},
|
||||
prices: [
|
||||
expect.objectContaining({
|
||||
@@ -519,7 +519,7 @@ medusaIntegrationTestRunner({
|
||||
title: "new price list name",
|
||||
description: "new price list description",
|
||||
rules: {
|
||||
customer_group_id: [customerGroup.id],
|
||||
"customer.groups.id": [customerGroup.id],
|
||||
},
|
||||
}
|
||||
|
||||
@@ -536,7 +536,7 @@ medusaIntegrationTestRunner({
|
||||
title: "new price list name",
|
||||
description: "new price list description",
|
||||
rules: {
|
||||
customer_group_id: [customerGroup.id],
|
||||
"customer.groups.id": [customerGroup.id],
|
||||
},
|
||||
})
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user