Adds provider service test; Better provider mock

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

No files matched your search

@@ -17,7 +17,7 @@ export const PaymentProviderServiceMock = {
if (providerId === "default_provider") { if (providerId === "default_provider") {
return DefaultProviderMock return DefaultProviderMock
} }
return undefined throw new Error("Provider Not Found")
}), }),
} }
@@ -695,9 +695,7 @@ describe("CartService", () => {
PaymentProviderServiceMock.retrieveProvider PaymentProviderServiceMock.retrieveProvider
).toHaveBeenCalledWith("unregistered") ).toHaveBeenCalledWith("unregistered")
expect(err.message).toEqual( expect(err.message).toEqual(`Provider Not Found`)
`The payment provider for the payment method was not found`
)
} }
}) })
@@ -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"
)
}
})
})
})
-6
View File
@@ -432,12 +432,6 @@ class CartService extends BaseService {
const provider = this.paymentProviderService_.retrieveProvider( const provider = this.paymentProviderService_.retrieveProvider(
paymentMethod.provider_id 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) const status = await provider.getStatus(paymentMethod.data)
if (status !== "authorized") { if (status !== "authorized") {