https://github.com/stripe/react-stripe-js/blob/master/src/components/Elements.tsx
export const mockElement = () => ({
mount: jest.fn(),
destroy: jest.fn(),
on: jest.fn(),
update: jest.fn(),
})
export const mockElements = () => {
const elements = {}
return {
create: jest.fn(type => {
return mockElement()
}),
getElement: jest.fn(type => {
return mockElement
}),
}
}
export const mockStripe = () => ({
elements: jest.fn(() => mockElements()),
createToken: jest.fn(),
createSource: jest.fn(),
createPaymentMethod: jest.fn(),
confirmCardPayment: jest.fn(() => {
return { paymentIntent: { id: 'test', status: 'succeeded' } }
}),
confirmCardSetup: jest.fn(),
paymentRequest: jest.fn(),
_registerWrapper: jest.fn(),
})
import * as stripeMocks from './stripe-mocks'
const renderComponent = () => {
const stripe = stripeMocks.mockStripe()
return render(
<MockedProvider mocks={mocks} addTypename={false}>
<CartProvider>
<Elements stripe={stripe}>
<Payment
listingId={listingId}
currentPackage={currentPackage}
handleBack={handleBack}
handleNext={handleSubmit}
/>
</Elements>
</CartProvider>
</MockedProvider>
)
}
Comments
Post a Comment