Merge branch 'master' into develop
This commit is contained in:
@@ -486,7 +486,8 @@ describe("/store/carts", () => {
|
||||
regions: ["test-region"],
|
||||
}
|
||||
|
||||
let discountCart, discount
|
||||
let discountCart
|
||||
let discount
|
||||
beforeEach(async () => {
|
||||
try {
|
||||
discount = await simpleDiscountFactory(
|
||||
@@ -718,15 +719,17 @@ describe("/store/carts", () => {
|
||||
)
|
||||
.catch((err) => console.log(err))
|
||||
|
||||
expect(response.data.cart.items).toEqual([
|
||||
expect.objectContaining({
|
||||
cart_id: "test-cart-3",
|
||||
unit_price: 8000,
|
||||
variant_id: "test-variant-sale-cg",
|
||||
quantity: 3,
|
||||
adjustments: [],
|
||||
}),
|
||||
])
|
||||
expect(response.data.cart.items).toEqual(
|
||||
expect.arrayContaining([
|
||||
expect.objectContaining({
|
||||
cart_id: "test-cart-3",
|
||||
unit_price: 8000,
|
||||
variant_id: "test-variant-sale-cg",
|
||||
quantity: 3,
|
||||
adjustments: [],
|
||||
}),
|
||||
])
|
||||
)
|
||||
})
|
||||
|
||||
it("updates line item of a cart containing a total fixed discount", async () => {
|
||||
@@ -1363,7 +1366,14 @@ describe("/store/carts", () => {
|
||||
.catch((error) => console.log(error))
|
||||
|
||||
expect(response.status).toEqual(200)
|
||||
expect(response.data.cart.items[0].unit_price).toEqual(500)
|
||||
expect(response.data.cart.items).toEqual(
|
||||
expect.arrayContaining([
|
||||
expect.objectContaining({
|
||||
variant_id: "test-variant-sale-cg",
|
||||
unit_price: 500,
|
||||
}),
|
||||
])
|
||||
)
|
||||
})
|
||||
|
||||
it("updates prices when cart region id is updated", async () => {
|
||||
@@ -1479,11 +1489,38 @@ describe("/store/carts", () => {
|
||||
const getRes = await api.post(`/store/carts/test-cart-2/complete-cart`)
|
||||
|
||||
expect(getRes.status).toEqual(200)
|
||||
expect(getRes.data.type).toEqual("order")
|
||||
|
||||
const variantRes = await api.get("/store/variants/test-variant")
|
||||
expect(variantRes.data.variant.inventory_quantity).toEqual(0)
|
||||
})
|
||||
|
||||
it("calculates correct payment totals on cart completion taking into account line item adjustments", async () => {
|
||||
const api = useApi()
|
||||
|
||||
await api.post("/store/carts/test-cart-3", {
|
||||
discounts: [{ code: "CREATED" }],
|
||||
})
|
||||
|
||||
const createdOrder = await api.post(
|
||||
`/store/carts/test-cart-3/complete-cart`
|
||||
)
|
||||
|
||||
expect(createdOrder.data.type).toEqual("order")
|
||||
expect(createdOrder.data.data.discount_total).toEqual(10000)
|
||||
expect(createdOrder.data.data.subtotal).toEqual(16000)
|
||||
expect(createdOrder.data.data.total).toEqual(6000)
|
||||
expect(createdOrder.data.data.payments).toEqual(
|
||||
expect.arrayContaining([
|
||||
expect.objectContaining({
|
||||
amount: 6000,
|
||||
}),
|
||||
])
|
||||
)
|
||||
|
||||
expect(createdOrder.status).toEqual(200)
|
||||
})
|
||||
|
||||
it("returns early, if cart is already completed", async () => {
|
||||
const manager = dbConnection.manager
|
||||
const api = useApi()
|
||||
@@ -1739,7 +1776,9 @@ describe("/store/carts", () => {
|
||||
.catch((err) => console.log(err))
|
||||
|
||||
// Ensure that the discount is only applied to the standard item
|
||||
const itemId = cartWithGiftcard.data.cart.items.find(item => !item.is_giftcard).id
|
||||
const itemId = cartWithGiftcard.data.cart.items.find(
|
||||
(item) => !item.is_giftcard
|
||||
).id
|
||||
expect(cartWithGiftcard.data.cart.items).toEqual(
|
||||
expect.arrayContaining([
|
||||
expect.objectContaining({
|
||||
|
||||
@@ -50,6 +50,7 @@ module.exports = async (connection, data = {}) => {
|
||||
const r = manager.create(Region, {
|
||||
id: "test-region",
|
||||
name: "Test Region",
|
||||
payment_providers: [{ id: "test-pay" }],
|
||||
currency_code: "usd",
|
||||
tax_rate: 0,
|
||||
})
|
||||
@@ -819,6 +820,23 @@ module.exports = async (connection, data = {}) => {
|
||||
completed_at: null,
|
||||
items: [],
|
||||
})
|
||||
|
||||
await manager.save(cart3)
|
||||
|
||||
const ps = manager.create(PaymentSession, {
|
||||
id: "test-cart-session",
|
||||
cart_id: "test-cart-3",
|
||||
provider_id: "test-pay",
|
||||
is_selected: true,
|
||||
data: {},
|
||||
status: "authorized",
|
||||
})
|
||||
|
||||
await manager.save(ps)
|
||||
|
||||
cart3.payment_sessions = [ps]
|
||||
cart3.payment_session = ps
|
||||
|
||||
await manager.save(cart3)
|
||||
|
||||
await manager.insert(ShippingMethod, {
|
||||
@@ -842,7 +860,7 @@ module.exports = async (connection, data = {}) => {
|
||||
await manager.save(li2)
|
||||
|
||||
const cart4 = manager.create(Cart, {
|
||||
id: "test-cart-3",
|
||||
id: "test-cart-4",
|
||||
email: "some-customer@email.com",
|
||||
shipping_address: {
|
||||
id: "test-shipping-address",
|
||||
|
||||
Reference in New Issue
Block a user