Provides some rspec helper methods for testing Stripe without hitting the Stripe API.
Your webhook handling code should authenticate a webhook request by retrieving the Event object from Stripe. This can be a little cumbersome when testing your webhook handling code, as you can end up having to create a JSON fixture for the webhook JSON as well as a matching Stripe::Event mock object.
This gem contains JSON fixtures for common Stripe events (these are yet to be fully populated) and automatically returns a mock Stripe::Event object.
For example:
RspecStripeWebhookHelper.handle('charge.failed') { |body|
# Your test code here
}
Will load a JSON fixture for the charge.failed webhook and will provide it to the block as the body parameter.
It will also stub the Stripe::Event.retrieve method and return a Stripe::Event mock object that matches the JSON in body. The stub is only applied within the scope of the block.
You can also override property values in the JSON and Stripe Event object by passing in a hash.
For example:
RspecStripeWebhookHelper.handle('charge.failed', { :livemode => true }) { |body|
# Your test code here
}