Updates method to reflect correct payment provider API
This commit is contained in:
@@ -23,7 +23,8 @@
|
||||
"client-sessions": "^0.8.0",
|
||||
"cross-env": "^5.2.1",
|
||||
"eslint": "^6.8.0",
|
||||
"jest": "^25.5.2"
|
||||
"jest": "^25.5.2",
|
||||
"medusa-test-utils": "^0.3.0"
|
||||
},
|
||||
"scripts": {
|
||||
"build": "babel src -d dist",
|
||||
@@ -41,4 +42,4 @@
|
||||
"body-parser": "^1.19.0"
|
||||
},
|
||||
"gitHead": "35e0930650d5f4aedf2610749cd131ae8b7e17cc"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -120,14 +120,10 @@ describe("StripeProviderService", () => {
|
||||
|
||||
result = await stripeProviderService.updatePayment(
|
||||
{
|
||||
payment_method: {
|
||||
data: {
|
||||
id: "pi_lebron",
|
||||
},
|
||||
},
|
||||
id: "pi_lebron",
|
||||
},
|
||||
{
|
||||
amount: 1000,
|
||||
total: 1000,
|
||||
}
|
||||
)
|
||||
})
|
||||
|
||||
@@ -122,14 +122,17 @@ class StripeProviderService extends PaymentService {
|
||||
|
||||
/**
|
||||
* Updates Stripe PaymentIntent.
|
||||
* @param {string} cart - the cart to update payment intent for
|
||||
* @param {Object} data - the update object for the payment intent
|
||||
* @param {object} data - The payment session data.
|
||||
* @param {Object} cart - the current cart value
|
||||
* @returns {Object} Stripe PaymentIntent
|
||||
*/
|
||||
async updatePayment(cart, update) {
|
||||
async updatePayment(data, cart) {
|
||||
try {
|
||||
const { data } = cart.payment_method
|
||||
return this.stripe_.paymentIntents.update(data.id, update)
|
||||
const { id } = data
|
||||
const amount = this.totalsService_.getTotal(cart)
|
||||
return this.stripe_.paymentIntents.update(id, {
|
||||
amount
|
||||
})
|
||||
} catch (error) {
|
||||
throw error
|
||||
}
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
import { IdMap } from "medusa-test-utils"
|
||||
|
||||
export const TotalsServiceMock = {
|
||||
getTotal: jest.fn().mockImplementation(cart => {
|
||||
if (cart.total) {
|
||||
return cart.total
|
||||
}
|
||||
return 0
|
||||
}),
|
||||
getSubtotal: jest.fn().mockImplementation(cart => {
|
||||
if (cart.subtotal) {
|
||||
return cart.subtotal
|
||||
|
||||
@@ -23,4 +23,60 @@ describe("ProductService", () => {
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
describe("createSession", () => {
|
||||
const createSession = jest.fn().mockReturnValue(Promise.resolve())
|
||||
const container = {
|
||||
totalsService: TotalsService,
|
||||
pp_default_provider: {
|
||||
createSession
|
||||
}
|
||||
}
|
||||
|
||||
const providerService = new PaymentProviderService(container)
|
||||
|
||||
it("successfully creates session", () => {
|
||||
await providerService.createSession("default_provider", {
|
||||
total: 100
|
||||
})
|
||||
|
||||
expect(createSession).toBeCalledTimes(1)
|
||||
expect(createSession).toBeCalledWith({
|
||||
total: 100
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
describe("updateSession", () => {
|
||||
const createSession = jest.fn().mockReturnValue(Promise.resolve())
|
||||
const updateSession = jest.fn().mockReturnValue(Promise.resolve())
|
||||
|
||||
const container = {
|
||||
totalsService: TotalsService,
|
||||
pp_default_provider: {
|
||||
createSession,
|
||||
updateSession
|
||||
}
|
||||
}
|
||||
|
||||
const providerService = new PaymentProviderService(container)
|
||||
|
||||
it("successfully creates session", () => {
|
||||
await providerService.createSession({
|
||||
provider_id: "default_provider",
|
||||
data: {
|
||||
id: "1234"
|
||||
}
|
||||
}, {
|
||||
total: 100
|
||||
})
|
||||
|
||||
expect(TotalsService.getTotal).toBeCalledTimes(1)
|
||||
expect(TotalsService.getTotal).toBeCalledWith({
|
||||
total: 100
|
||||
})
|
||||
|
||||
expect
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user