feat(core-flows, dashboard, link-modules,medusa, types, utils): fulfillment shipping changes (#10902)

**What**
- product <> shipping profile link
- create and update product workflows/endpoints accepts shipping profile
- pass shipping option id when creating fulfillment to allow overriding customer selected SO
- validate shipping profile delete
- dashboard
  - set shipping profile on product create
  - manage shipping profile for a product
  - **update the create fulfillment form**
- other
  - fix create product form infinite rerenders
 
---

CLOSES CMRC-831 CMRC-834 CMRC-836 CMRC-837 CMRC-838 CMRC-857 TRI-761
This commit is contained in:
Frane Polić authored and GitHub committed 2025-01-27 12:00:20 +00:00
1 parent 3e81962503
commit 864d772e34
78 files changed
+3529 -794

No files matched your search

@@ -58,6 +58,14 @@ medusaIntegrationTestRunner({
)
).data.region
shippingProfile = (
await api.post(
`/admin/shipping-profiles`,
{ name: "Test", type: "default" },
adminHeaders
)
).data.shipping_profile
salesChannel = (
await api.post(
"/admin/sales-channels",
@@ -71,6 +79,7 @@ medusaIntegrationTestRunner({
"/admin/products",
{
title: "Test fixture",
shipping_profile_id: shippingProfile.id,
options: [
{ title: "size", values: ["large", "small"] },
{ title: "color", values: ["green"] },
@@ -114,14 +123,6 @@ medusaIntegrationTestRunner({
adminHeaders
)
shippingProfile = (
await api.post(
`/admin/shipping-profiles`,
{ name: "Test", type: "default" },
adminHeaders
)
).data.shipping_profile
const fulfillmentSets = (
await api.post(
`/admin/stock-locations/${stockLocation.id}/fulfillment-sets?fields=*fulfillment_sets`,
@@ -57,6 +57,14 @@ medusaIntegrationTestRunner({
)
).data.region
shippingProfile = (
await api.post(
`/admin/shipping-profiles`,
{ name: "Test", type: "default" },
adminHeaders
)
).data.shipping_profile
salesChannel = (
await api.post(
"/admin/sales-channels",
@@ -74,6 +82,7 @@ medusaIntegrationTestRunner({
{ title: "size", values: ["large", "small"] },
{ title: "color", values: ["green"] },
],
shipping_profile_id: shippingProfile.id,
variants: [
{
title: "Test variant",
@@ -113,14 +122,6 @@ medusaIntegrationTestRunner({
adminHeaders
)
shippingProfile = (
await api.post(
`/admin/shipping-profiles`,
{ name: "Test", type: "default" },
adminHeaders
)
).data.shipping_profile
const fulfillmentSets = (
await api.post(
`/admin/stock-locations/${stockLocation.id}/fulfillment-sets?fields=*fulfillment_sets`,