Updates method to reflect correct payment provider API
This commit is contained in:
1 parent
022367a9d8
commit
de35931d7a
5 files changed
+74
-12
No files matched your search
@@ -23,7 +23,8 @@
|
|||||||
"client-sessions": "^0.8.0",
|
"client-sessions": "^0.8.0",
|
||||||
"cross-env": "^5.2.1",
|
"cross-env": "^5.2.1",
|
||||||
"eslint": "^6.8.0",
|
"eslint": "^6.8.0",
|
||||||
"jest": "^25.5.2"
|
"jest": "^25.5.2",
|
||||||
|
"medusa-test-utils": "^0.3.0"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "babel src -d dist",
|
"build": "babel src -d dist",
|
||||||
|
|||||||
@@ -120,14 +120,10 @@ describe("StripeProviderService", () => {
|
|||||||
|
|
||||||
result = await stripeProviderService.updatePayment(
|
result = await stripeProviderService.updatePayment(
|
||||||
{
|
{
|
||||||
payment_method: {
|
id: "pi_lebron",
|
||||||
data: {
|
|
||||||
id: "pi_lebron",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
amount: 1000,
|
total: 1000,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -122,14 +122,17 @@ class StripeProviderService extends PaymentService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Updates Stripe PaymentIntent.
|
* Updates Stripe PaymentIntent.
|
||||||
* @param {string} cart - the cart to update payment intent for
|
* @param {object} data - The payment session data.
|
||||||
* @param {Object} data - the update object for the payment intent
|
* @param {Object} cart - the current cart value
|
||||||
* @returns {Object} Stripe PaymentIntent
|
* @returns {Object} Stripe PaymentIntent
|
||||||
*/
|
*/
|
||||||
async updatePayment(cart, update) {
|
async updatePayment(data, cart) {
|
||||||
try {
|
try {
|
||||||
const { data } = cart.payment_method
|
const { id } = data
|
||||||
return this.stripe_.paymentIntents.update(data.id, update)
|
const amount = this.totalsService_.getTotal(cart)
|
||||||
|
return this.stripe_.paymentIntents.update(id, {
|
||||||
|
amount
|
||||||
|
})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
throw error
|
throw error
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,12 @@
|
|||||||
import { IdMap } from "medusa-test-utils"
|
import { IdMap } from "medusa-test-utils"
|
||||||
|
|
||||||
export const TotalsServiceMock = {
|
export const TotalsServiceMock = {
|
||||||
|
getTotal: jest.fn().mockImplementation(cart => {
|
||||||
|
if (cart.total) {
|
||||||
|
return cart.total
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}),
|
||||||
getSubtotal: jest.fn().mockImplementation(cart => {
|
getSubtotal: jest.fn().mockImplementation(cart => {
|
||||||
if (cart.subtotal) {
|
if (cart.subtotal) {
|
||||||
return 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