Maikel Linke
e8139d3948
Keep old incomplete (cart) orders
...
We used to delete old cart orders so that they wouldn't re-appear after
a successful checkout of another order. Keeping them ensures that we
don't remove an order that is still used by another device. It also
makes sure that we keep references of failed payments.
2020-08-14 10:02:48 +10:00
Maikel Linke
5761014205
Restore Spree customisations for controllers
2020-08-13 16:59:15 +10:00
Maikel Linke
90bf4f312b
Document and spec current controller behaviour
...
When we imported and merged Spree's controller modules with our
decorators, Rails started using Spree's original code again.
This was first included in v3.2.0 and deployed on 28 July 2020.
2020-08-13 16:59:15 +10:00
Pau Pérez Fabregat
6e1dd78e9f
Merge pull request #5828 from luisramos0/ent_user
...
Clean up AuthenticationWorkflow spec helper
2020-08-04 12:07:54 +02:00
Pau Perez
9ef59f440b
Remove commented out includes
2020-08-04 08:50:14 +02:00
Luis Ramos
327d6c43d9
Merge pull request #4084 from openfoodfoundation/dependabot/bundler/devise-3.5.10
...
[Security] Bump devise from 2.2.8 to 3.5.10
2020-08-01 15:55:19 +01:00
Luis Ramos
ca9898839a
Confirm! is deprecated and only redirects to confirm now in devise 3.5
2020-07-31 09:05:42 +01:00
Luis Ramos
0f29806198
Adapt code to devise 3.2 where the reset_password_token stored in the db is a encrypted version of the token sent in the email
...
In this particular case, the user confirmations controller is redirecting to the reset password page but it doesnt know what is the raw reset_password_token
So we regenerate the reset password token so that it can know what's the raw value for the redirect
The method User#regenerate_reset_password_token is a proxy to the protected method in Devise::Recoverable
2020-07-31 09:05:42 +01:00
Luis Ramos
e739c5185e
Add specs to verify that Spree::Core::Gateway exceptions are handled correctly
2020-07-29 23:56:52 +01:00
Luis Ramos
ad00971ca8
Improve readability and add bugsnag error (now in the checkout_failed method) when checkout_fails while handling stripe redirect
2020-07-29 22:50:18 +01:00
Maikel Linke
fe0c04b650
Complete renaming of AdvanceOrderService to OrderWorkflow
2020-07-29 12:24:18 +10:00
Luis Ramos
4df81f0864
Remove unnecesasary and now broken require statement from spec and fix rubocop todo files
2020-07-27 15:32:35 +01:00
Luis Ramos
a2ebc614d9
Rename AuthenticationWorkflow to AuthenticationHelper
2020-07-27 15:32:35 +01:00
Luis Ramos
f1a3814c0d
Rename login_as_enterprise_user to a more specific name controller_login_as_enterprise_user
2020-07-27 14:44:25 +01:00
Luis Ramos
8e84754f35
Rename login_as_admin to a more specific name controller_login_as_admin
2020-07-27 14:44:25 +01:00
Luis Ramos
1af4bf6994
Replace usage of create_enterprise_user with :user factory
2020-07-27 14:44:23 +01:00
Luis Ramos
16b9c8c814
Replace usage of create_enterprise_user with :user factory
2020-07-27 12:28:33 +01:00
Pau Perez
c0f72f89f2
Handle #refund! as we do with #credit!
2020-07-23 20:24:31 +02:00
Pau Perez
0f0a704147
Skip source validation when applying credit
...
The original payment may not be valid because its credit card may be
expired. Stripe gives this as a valid scenario returning a success and
we should do too.
When creating the credit payment we end up validating all sources in
a chain as follows.
```
Payment being persisted -> source payment -> original credit card.
```
The source payment was valid when created (It would not be persisted
otherwise) but its source card may now be expired, and that's legit.
There was also an issue with the `#invalidate_old_payments` callback. It
was causing the original payment to be validated again and thus the
credit payment failed to be persisted due to the original credit card
being expired. Switching this callback to use `#update_column` skips
validations and so we don't validate the source payment. We only care
about the state there, so it should be fine.
2020-07-23 20:24:31 +02:00
Pau Perez
73b1b1f172
DRY specs and fix rubocop failures
2020-07-23 20:24:31 +02:00
Pau Perez
59da07de66
Handle all errors when dealing with payment event
...
This basically catches ActiveRecord::RecordInvalid caused by an invalid
credit record, for instance, but also other situations we haven't
forseen.
2020-07-23 20:24:31 +02:00
Pau Perez
26ed601996
Test the payment controller handles GatewayError
...
After that, we can TDD a second one that also handles validation errors.
2020-07-23 20:24:31 +02:00
Luis Ramos
3dc9548fb3
Merge pull request #5775 from luisramos0/oc_inv_bug
...
Make OC advanced settings work by permitting the extra parameter and make the OC edit page work with that option activated
2020-07-22 22:23:28 +01:00
Luis Ramos
7ba8c5ace1
Make OC advanced settings work by permitting the extra parameter
2020-07-21 19:44:41 +01:00
Pau Pérez Fabregat
426c536750
Merge pull request #5677 from luisramos0/remove_spree_root_path
...
Bring ControllerHelpers from Spree and remove spree root path
2020-07-21 16:15:21 +02:00
Luis Ramos
62a3b6b720
Merge pull request #5406 from kristinalim/fix/5300-optimistic_locking_in_stock_items
...
5300 Avoid race conditions in Spree::StockItem
2020-07-17 22:24:59 +01:00
Luis Ramos
3599cb2047
Make unauthorized in ControllerHelpers::Auth the same as in Spree::Admin::BaseController
...
It adapts the method in ControllerHelpers::Auth to also use the after_login mechanism.
Ideally we would remove one of the two after_login mechanisms after_login and spree_user_return_to but they might still be in use.
2020-07-15 14:54:53 +01:00
Luis Ramos
8fac1bc9ca
Move unauthorized view to HomeController only, all other calls to unauthorized will go through Auth which will redirect to the home controller IF the user is logged in or to login if user is not logged in
2020-07-15 14:54:52 +01:00
Luis Ramos
7f1797de58
Adapt specs to the move of unauthorized route from the spree routes to the main app routes
2020-07-15 14:54:52 +01:00
Luis Ramos
1666ffb191
Remove try_spree_current_user
...
This can be done because the method is defined in OFN's ApplicationController, so spree_current_user is available in all controllers
2020-07-15 14:53:35 +01:00
Matt-Yorkley
c009fed6be
Update StrongParams for Pin Payments
2020-07-15 14:00:19 +02:00
Luis Ramos
5e8438c446
Move all calculators outside the spree namespace
2020-07-07 17:26:23 +01:00
Luis Ramos
6555f8bfba
Add specs to cover stripeSCA refunds
...
Duplication between stripe connect and stripeSCA is done on purpose so we can easily delete stripeConnect code when the migration is done
2020-07-01 18:13:27 +01:00
Luis Ramos
ce493866f9
Extract refunds specs from payments controller spec
2020-07-01 13:19:38 +01:00
Luis Ramos
ecb1920fa9
Move payment_controller_spec to specific folder so we can break it in more specific parts
2020-07-01 13:14:39 +01:00
Luis Ramos
2dce10bec2
Fix admin enterprises controller spec, for some reason the correct controller is not being picked up in the test
2020-06-30 10:49:45 +01:00
Cillian O'Ruanaidh
a9664e103d
Merge latest :master into :drop-blockenspiel branch and resolve conflicts related to Rubocop fixes.
2020-06-29 18:11:08 +01:00
Luis Ramos
2ad2836ac6
Merge pull request #5563 from luchiago/fix-missing-closed-oc-info-i18n
...
add missing i18n key for closed OC
2020-06-25 20:33:55 +01:00
Luis Ramos
ba50491c6d
Restructure the spec a little
2020-06-24 16:16:58 +01:00
Pau Pérez Fabregat
3939febc2f
Merge pull request #5653 from luisramos0/rubocop_refresher
...
Auto correct rubocop, refresh todo lists and fix some more rubocop issues
2020-06-23 10:25:59 +02:00
Luis Ramos
91fc0cd26f
Adapt specs to new Ar method update that replaces update_attributes
2020-06-22 17:39:20 +01:00
Luis Ramos
f848a89a00
Rename update_attributes to update #rails4
2020-06-22 16:51:43 +01:00
Luis Ramos
473fee19eb
Fix rubocop issues
2020-06-22 13:03:18 +01:00
Luis Ramos
3b91dd9dea
Use rubocop auto-correct to fix more issues
2020-06-22 12:51:47 +01:00
Luis Ramos
5d710f1e24
Use ruboccop autocorrect to fix issues
2020-06-22 12:46:07 +01:00
Luis Ramos
8a9dae0ee2
Run rubocop autocorrect
...
This is the result of bundle exec rubocop --auto-correct
2020-06-22 12:23:10 +01:00
Luis Ramos
15babd8bc4
Merge pull request #5651 from luisramos0/xhr
...
[Rails 4.1] Change for xhr rquest to avoid csrf during testing
2020-06-22 12:20:41 +01:00
Lucas Hiago
357c2c7b25
change for xhr to avoid csrf during testing
2020-06-21 20:22:33 +01:00
Pau Pérez Fabregat
db80992326
Merge branch 'master' into drop-blockenspiel
2020-06-19 12:12:10 +02:00
Luis Ramos
f6e3e01a10
Extract permitted payment_source attributes from checkout to use them in the backoffice payments controller
...
Add spec to verify payment source attributes are passed
2020-06-18 09:54:34 +01:00