Commit Graph

3475 Commits

Author SHA1 Message Date
Pau Perez
84e4ebef08 Do not notify Bugsnag of a cache miss
It's not the responsibility of a error tracking software to track
neither cache misses nor logs. That is what log monitoring is for.
2017-11-09 10:22:31 +01:00
Pau Perez
98603c4042 Do not test private methods 2017-11-09 10:22:31 +01:00
Pau Perez
26a4ee0171 Do not stub object under test 2017-11-09 10:22:31 +01:00
Pau Perez
4f03a2d25c Remove unnecessary require 2017-11-09 10:22:31 +01:00
Rob Harrington
d4eb27a4ed Fix race condition in shipping method order spec 2017-11-01 16:37:12 +11:00
Duende13
eca18ba6ee Test to control order of shipping methods by name 2017-11-01 15:30:42 +11:00
Andy Palmer
fd09a63e48 Imperative specs as per review comments 2017-10-24 17:56:04 +11:00
Andy Palmer
fea2240c39 Disabled product links in cart for openfoodfoundation/openfoodnetwork#1075 2017-10-24 14:56:35 +11:00
Rob Harrington
ceadd386aa Update order spec to test an order with a total > 0
This is necessary because the previous commit changed the logic
around payment state, meaning that a complete order with a total
of 0 and no complete paymnents is considered to have a payment
state of 'paid'. I don't think this is problematic, since it is
not possible to check out an order without line items.

This way the spec tests an order modelled on the real world.
2017-10-20 15:21:59 +11:00
Rob Harrington
d42dc2b286 Fix #1902: ensure correct payment state when failed payments are present
Problem: order payments didn't seem to be loaded in any particular order,
and OrderUpdater#update_payment_state was relying on payment order to de-
termine payment state.

Strategy: Adapt a version of this method from a future version of Spree.
I tried to select a version where I would have to make the absolute mini-
mum number of changes to get it to work. See comments in code for justif-
ications of the changes that I did make.
2017-10-20 15:21:59 +11:00
Rob Harrington
b7976a2356 Do not update finalized fee adjustments 2017-10-19 16:54:39 +11:00
Rob Harrington
0d483882de Update helper messages in Stripe Connect config UI 2017-10-16 10:37:04 +11:00
Rob Harrington
1fcbf6b44d Clear shipping_method_id from order when restarting checkout
If the order is allowed to retain a shipping_method_id, then subsequent
saves of the order will cause a new shipment to be initialised. Seems to
only happen for delivery shipping methods. This is undesirable because
fees for the new shipment will appear in the checkout summary, which is
not smart enough to recognise existing shipment fees and adjust the order
total accordingly.
2017-10-13 12:53:35 +11:00
Rob Harrington
f96502c369 Add unit specs for CheckoutController#restart_checkout 2017-10-13 12:53:35 +11:00
Rob Harrington
c031b0e52b Clear shipments and payments after failed payment at checkout 2017-10-13 12:53:35 +11:00
Rob Harrington
6006952603 Moving checkout request specs into their own folder 2017-10-13 12:53:35 +11:00
Duende13
e5fb8712d7 Simplify Product Edit Screen removing fields and adding 2 new menu options for seo and group buy (#1741) 2017-10-13 11:37:57 +11:00
Pierre de Lacroix
508dfa4f23 Fix failing tests assuming localizeCurrency has no "delimiter" 2017-10-13 10:26:13 +11:00
Rob Harrington
f2ad087be5 Change inheritance of StripeAccountsController 2017-10-13 07:57:16 +11:00
Rob Harrington
0b8b5e694e Move Stripe Connect callback action to dedicated controller 2017-10-12 22:47:51 +11:00
Rob Harrington
01f9fd3232 Rename webhook handler status mappings 2017-10-12 22:47:51 +11:00
Rob Harrington
99cac20725 Fall back to 200 when handler returns an unknown result 2017-10-12 22:47:51 +11:00
Rob Harrington
068dbe5013 Add verification to Stripe webhook endpoint 2017-10-12 22:47:45 +11:00
Rob Harrington
ed375a1e2c Build Event object in controller instead of service object 2017-10-12 20:51:17 +11:00
Rob Harrington
4345285164 Allow more granularity in Stripe WebhookHandler responses 2017-10-12 20:51:17 +11:00
Rob Harrington
eb7cb02f33 Namespace stripe webhook controller in Stripe module 2017-10-12 20:50:29 +11:00
Rob Harrington
f22dd7513d Add a service object for handling Stripe webhooks 2017-10-11 17:50:46 +11:00
Rob Harrington
c54119f482 Rename stripe controller action from 'deauthorize' to 'webhook' 2017-10-11 17:11:02 +11:00
Rob Harrington
23d2b3a664 Move Stripe webhook logic into dedicated frontend controller 2017-10-11 16:38:19 +11:00
Rob Harrington
c747bb5305 Remove improper use of quick_login_as_admin from unit spec 2017-10-11 16:10:08 +11:00
Rob Harrington
75ec77dc31 Remove the 'confirm' step from the order checkout flow
This step is not being responded to anyway, since we are not rending a page for each checkout step

It was causing an issue whereby an order in the 'confirm' state was not able to progress through the
checkout controller because it was expecting to only redirect to paypal from the 'payment' state.
figured it was easiest to just remove the step, seeing as it wasn't being used in any meaningful way.
It should be fine to bring the 'confirm' step back in the future if we need it, we will just have to
make sure paypal the paypal issue is resolved.
2017-09-23 15:15:06 +10:00
Rob Harrington
a09a54e4cb Set transaction fee adjustments to ineligible if payment is invalid or failed 2017-09-23 15:15:06 +10:00
Rob Harrington
e486dbd4f8 Respond to Stripe webhook with status of 204 if specified account is not found 2017-09-23 14:58:35 +10:00
Rob Harrington
db5503dd80 Allow destruction of StripeAccounts even if deauthorise request fails
Log deauthorise failures to Bugsnag
2017-09-23 14:58:35 +10:00
Rob Harrington
dd3d205536 Update deauthorize webhook to latest version of API (again) 2017-09-23 14:58:35 +10:00
Rob Harrington
90007d7114 Prevent Stripe-based payment methods that are not linked to a StripeAccount from displaying in the checkout 2017-09-23 14:58:35 +10:00
Rob Harrington
7ba99c0fe0 Update Bogus Gateway error message in checkout spec 2017-09-23 14:58:35 +10:00
Rob Harrington
ba61f94906 Expose Stripe token creation error messages in Checkout 2017-09-23 14:58:35 +10:00
Rob Harrington
7c82fa3d44 Show more helpful payment processing error in checkout 2017-09-23 14:58:35 +10:00
Rob Harrington
665749d0c5 Refactor Stripe::AccountConnector
Connector now handles cancellation of the connection wizard by the user more elegantly
2017-09-23 14:58:35 +10:00
Rob Harrington
d3566f9303 Update deauthorize webhook to latest version of API 2017-09-23 14:58:35 +10:00
Rob Harrington
7d2deca969 Ensure cart_spec runs in context where backorders are disabled 2017-09-23 14:58:35 +10:00
Rob Harrington
0f19be4db4 Configure StripeElements service to map cc_type to that used by activemerchant 2017-09-23 14:58:35 +10:00
Rob Harrington
393a4efbf6 Fix flaky OrderSerializer spec
Make sure that completed payment is for an amount less that the order total
2017-09-23 14:58:35 +10:00
Rob Harrington
4785f3eacc Use lowercased cc_type in CreditCard service 2017-09-23 14:58:34 +10:00
Rob Harrington
e14b017f1f Fix broken Stripe checkout spec 2017-09-23 14:58:34 +10:00
Rob Harrington
d2096cf6d1 Make request stubs less brittle by using regex 2017-09-23 14:58:34 +10:00
Rob Harrington
08c723b10f Use expect syntax instead of should 2017-09-23 14:58:34 +10:00
Rob Harrington
61feb2b27d Rename Stripe existing_card param key to existing_card_id 2017-09-23 14:58:34 +10:00
Rob Harrington
4464a85a74 Add missing controller specs for CreditCardController #destroy 2017-09-23 14:58:34 +10:00