Adds provider service test; Better provider mock

This commit is contained in:
Sebastian Rindom
2020-02-18 15:10:09 +01:00
parent d4517b9f00
commit e5a400306c
4 changed files with 31 additions and 10 deletions

View File

@@ -17,7 +17,7 @@ export const PaymentProviderServiceMock = {
if (providerId === "default_provider") {
return DefaultProviderMock
}
return undefined
throw new Error("Provider Not Found")
}),
}

View File

@@ -695,9 +695,7 @@ describe("CartService", () => {
PaymentProviderServiceMock.retrieveProvider
).toHaveBeenCalledWith("unregistered")
expect(err.message).toEqual(
`The payment provider for the payment method was not found`
)
expect(err.message).toEqual(`Provider Not Found`)
}
})

View File

@@ -0,0 +1,29 @@
import { createContainer, asValue } from "awilix"
import PaymentProviderService from "../payment-provider"
describe("ProductService", () => {
describe("retrieveProvider", () => {
const container = createContainer()
container.register({
pp_default_provider: asValue("good"),
})
const providerService = new PaymentProviderService(container)
it("successfully retrieves payment provider", () => {
const provider = providerService.retrieveProvider("default_provider")
expect(provider).toEqual("good")
})
it("fails when payment provider not found", () => {
try {
providerService.retrieveProvider("unregistered")
} catch (err) {
expect(err.message).toEqual(
"Could not find a payment provider with id: unregistered"
)
}
})
})
})

View File

@@ -432,12 +432,6 @@ class CartService extends BaseService {
const provider = this.paymentProviderService_.retrieveProvider(
paymentMethod.provider_id
)
if (!provider) {
throw new MedusaError(
MedusaError.Types.NOT_FOUND,
`The payment provider for the payment method was not found`
)
}
const status = await provider.getStatus(paymentMethod.data)
if (status !== "authorized") {