- All schemas have been rewritten to a relational model - All services have been rewritten to accommodate the new data model - Adds idempotency keys to core endpoints allowing you to retry requests with no additional side effects - Adds staged jobs to avoid putting jobs in the queue when transactions abort - Adds atomic transactions to all methods with access to the data layer Co-authored-by: Oliver Windall Juhl <oliver@mrbltech.com>
196 lines
5.4 KiB
JavaScript
196 lines
5.4 KiB
JavaScript
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports["default"] = exports.CartServiceMock = exports.carts = void 0;
|
|
|
|
var _medusaTestUtils = require("medusa-test-utils");
|
|
|
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
|
|
var carts = {
|
|
emptyCart: {
|
|
id: _medusaTestUtils.IdMap.getId("emptyCart"),
|
|
items: [],
|
|
region_id: _medusaTestUtils.IdMap.getId("testRegion"),
|
|
customer_id: "test-customer",
|
|
payment_sessions: [],
|
|
shipping_options: [{
|
|
id: _medusaTestUtils.IdMap.getId("freeShipping"),
|
|
profile_id: "default_profile",
|
|
data: {
|
|
some_data: "yes"
|
|
}
|
|
}]
|
|
},
|
|
frCart: {
|
|
id: _medusaTestUtils.IdMap.getId("fr-cart"),
|
|
email: "lebron@james.com",
|
|
title: "test",
|
|
region_id: _medusaTestUtils.IdMap.getId("region-france"),
|
|
items: [{
|
|
id: _medusaTestUtils.IdMap.getId("line"),
|
|
title: "merge line",
|
|
description: "This is a new line",
|
|
thumbnail: "test-img-yeah.com/thumb",
|
|
unit_price: 8,
|
|
variant: {
|
|
id: _medusaTestUtils.IdMap.getId("eur-8-us-10")
|
|
},
|
|
product: {
|
|
id: _medusaTestUtils.IdMap.getId("product")
|
|
},
|
|
// {
|
|
// unit_price: 10,
|
|
// variant: {
|
|
// id: IdMap.getId("eur-10-us-12"),
|
|
// },
|
|
// product: {
|
|
// id: IdMap.getId("product"),
|
|
// },
|
|
// quantity: 1,
|
|
// },
|
|
quantity: 10
|
|
}, _defineProperty({
|
|
id: _medusaTestUtils.IdMap.getId("existingLine"),
|
|
title: "merge line",
|
|
description: "This is a new line",
|
|
thumbnail: "test-img-yeah.com/thumb",
|
|
unit_price: 10,
|
|
variant: {
|
|
id: _medusaTestUtils.IdMap.getId("eur-10-us-12")
|
|
},
|
|
product: {
|
|
id: _medusaTestUtils.IdMap.getId("product")
|
|
},
|
|
quantity: 1
|
|
}, "quantity", 10)],
|
|
shipping_methods: [{
|
|
id: _medusaTestUtils.IdMap.getId("freeShipping"),
|
|
profile_id: "default_profile"
|
|
}],
|
|
shipping_options: [{
|
|
id: _medusaTestUtils.IdMap.getId("freeShipping"),
|
|
profile_id: "default_profile"
|
|
}],
|
|
payment_sessions: [{
|
|
provider_id: "stripe",
|
|
data: {
|
|
id: "pi_123456789",
|
|
customer: _medusaTestUtils.IdMap.getId("not-lebron")
|
|
}
|
|
}],
|
|
payment_method: {
|
|
provider_id: "stripe",
|
|
data: {
|
|
id: "pi_123456789",
|
|
customer: _medusaTestUtils.IdMap.getId("not-lebron")
|
|
}
|
|
},
|
|
shipping_address: {},
|
|
billing_address: {},
|
|
discounts: [],
|
|
customer_id: _medusaTestUtils.IdMap.getId("lebron")
|
|
},
|
|
frCartNoStripeCustomer: {
|
|
id: _medusaTestUtils.IdMap.getId("fr-cart-no-customer"),
|
|
title: "test",
|
|
region_id: _medusaTestUtils.IdMap.getId("region-france"),
|
|
items: [{
|
|
id: _medusaTestUtils.IdMap.getId("line"),
|
|
title: "merge line",
|
|
description: "This is a new line",
|
|
thumbnail: "test-img-yeah.com/thumb",
|
|
content: [{
|
|
unit_price: 8,
|
|
variant: {
|
|
id: _medusaTestUtils.IdMap.getId("eur-8-us-10")
|
|
},
|
|
product: {
|
|
id: _medusaTestUtils.IdMap.getId("product")
|
|
},
|
|
quantity: 1
|
|
}, {
|
|
unit_price: 10,
|
|
variant: {
|
|
id: _medusaTestUtils.IdMap.getId("eur-10-us-12")
|
|
},
|
|
product: {
|
|
id: _medusaTestUtils.IdMap.getId("product")
|
|
},
|
|
quantity: 1
|
|
}],
|
|
quantity: 10
|
|
}, {
|
|
id: _medusaTestUtils.IdMap.getId("existingLine"),
|
|
title: "merge line",
|
|
description: "This is a new line",
|
|
thumbnail: "test-img-yeah.com/thumb",
|
|
content: {
|
|
unit_price: 10,
|
|
variant: {
|
|
id: _medusaTestUtils.IdMap.getId("eur-10-us-12")
|
|
},
|
|
product: {
|
|
id: _medusaTestUtils.IdMap.getId("product")
|
|
},
|
|
quantity: 1
|
|
},
|
|
quantity: 10
|
|
}],
|
|
shipping_methods: [{
|
|
id: _medusaTestUtils.IdMap.getId("freeShipping"),
|
|
profile_id: "default_profile"
|
|
}],
|
|
shipping_options: [{
|
|
id: _medusaTestUtils.IdMap.getId("freeShipping"),
|
|
profile_id: "default_profile"
|
|
}],
|
|
payment_sessions: [{
|
|
provider_id: "stripe",
|
|
data: {
|
|
id: "pi_no",
|
|
customer: _medusaTestUtils.IdMap.getId("not-lebron")
|
|
}
|
|
}],
|
|
payment_method: {
|
|
provider_id: "stripe",
|
|
data: {
|
|
id: "pi_no",
|
|
customer: _medusaTestUtils.IdMap.getId("not-lebron")
|
|
}
|
|
},
|
|
shipping_address: {},
|
|
billing_address: {},
|
|
discounts: [],
|
|
customer_id: _medusaTestUtils.IdMap.getId("vvd")
|
|
}
|
|
};
|
|
exports.carts = carts;
|
|
var CartServiceMock = {
|
|
retrieve: jest.fn().mockImplementation(function (cartId) {
|
|
if (cartId === _medusaTestUtils.IdMap.getId("fr-cart")) {
|
|
return Promise.resolve(carts.frCart);
|
|
}
|
|
|
|
if (cartId === _medusaTestUtils.IdMap.getId("fr-cart-no-customer")) {
|
|
return Promise.resolve(carts.frCartNoStripeCustomer);
|
|
}
|
|
|
|
if (cartId === _medusaTestUtils.IdMap.getId("emptyCart")) {
|
|
return Promise.resolve(carts.emptyCart);
|
|
}
|
|
|
|
return Promise.resolve(undefined);
|
|
}),
|
|
updatePaymentSession: jest.fn().mockImplementation(function (cartId, stripe, paymentIntent) {
|
|
return Promise.resolve();
|
|
})
|
|
};
|
|
exports.CartServiceMock = CartServiceMock;
|
|
var mock = jest.fn().mockImplementation(function () {
|
|
return CartServiceMock;
|
|
});
|
|
var _default = mock;
|
|
exports["default"] = _default; |