Commit Graph

661 Commits

Author SHA1 Message Date
Andy Brett
19c2c9c1c5 Merge pull request #7175 from openfoodfoundation/7130-notify-on-payment-intent-error
Record invalid payment states for debugging
2021-03-26 08:33:07 -07:00
Matt-Yorkley
525fef14b1 Merge pull request #6974 from Matt-Yorkley/adjustments-line-item-fees
[Adjustments] Update line item enteprise fees
2021-03-23 19:06:02 +01:00
Maikel Linke
fce8d3a2f8 Record invalid payment states for debugging
We observed invalid payment states in Bugsnag but we don't actually know
in which state the payment intent was in. From the context we can guess
that it was "succeeded" but it would be good to validate this. And in
the future it would be good to know if there are other invalid states we
can end up in.

The notification to Bugsnag happens in another part of the code.
2021-03-22 16:35:22 +11:00
Matt-Yorkley
a768cb2510 Set adjustment "target" (adjustable) to be the line item when adding enterprise fees on line items 2021-03-18 13:18:20 +00:00
Cillian O'Ruanaidh
a80e1b7625 Reduce retention period of Spree state changes and log entries from 6 to 3 months
The UK instance noticed Spree state changes and log entries seem to be filling up quite quickly.

Fixes #7123
2021-03-17 12:12:45 +00:00
Pau Pérez Fabregat
51f63060a4 Merge pull request #6879 from coopdevs/customer-balance-bulk-coop-report
Customer balance bulk coop report
2021-03-17 12:08:44 +01:00
Matt-Yorkley
e78fb784c6 Merge pull request #7042 from coopdevs/fix-money-object-deprecation-warnings
Fix money object deprecation warnings
2021-03-16 14:30:51 +01:00
Matt-Yorkley
ac37db7e00 Update test setup in OrderCycleManagement report 2021-03-11 12:23:00 +00:00
Pau Perez
0eb14bc0a4 Do not modify the HTML returned by Money gem
It was due to these lines that we were returning a broken HTML tag but
also, there's no need to remove blanks.
2021-03-10 16:29:09 +01:00
Pau Perez
96bcde61a3 Fix Money deprecation warning with :html_wrap
This fixes the following deprecation warning

```
[DEPRECATION] `html` is deprecated - use `html_wrap` instead. Please
note that `html_wrap` will wrap all parts of currency and if you use
`with_currency` option, currency element class changes from `currency`
to `money-currency`.
```
2021-03-08 13:03:00 +01:00
Pau Perez
485449e289 Fix Money gem deprecation warning with :format
This removes millions of deprecation warnings like the following

```
[DEPRECATION] `symbol_position: :before` is deprecated - you can replace it with `format: %u %n`
```

from the build. It gets printed every time a `Spree::Money` is instantiated.

This should result in a non-negligible speed up of the test suite.
2021-03-08 13:03:00 +01:00
Pau Perez
e355a00724 Remove redundant spec context
This is already tested by the top-most before block and besides, we
there's no OFN in Japan. We don't need to test all supported currencies
but ensure that the various arguments work as intended.
2021-03-08 12:52:41 +01:00
Matt-Yorkley
55db911334 Update sales tax report 2021-03-04 14:27:02 +00:00
Matt-Yorkley
c093701adf Improve UserBalanceCalculator spec test setup
Previously we were creating order objects that were not actually complete, and manually setting the `completed_at` field. This meant the order objects being tested were not actually in the correct state, ie: pre-checkout orders that had not been processed properly.
2021-03-04 14:27:02 +00:00
Pau Perez
2ead2ad417 Replace private stub with fake collaborator object 2021-03-03 18:19:26 +01:00
Pau Perez
b7335e12e9 Add first basic unit test to Reports::LineItems
This is quite hard and tedious due to its tight coupling with
Permissions::Order but sets the path to adding more of these and
eventually refactoring this class in the future.
2021-03-03 18:19:26 +01:00
Matt-Yorkley
0e3429dc35 Merge pull request #6758 from Matt-Yorkley/enterprise-fees-refactor
Enterprise fees refactor
2021-02-22 17:59:18 +01:00
Pau Pérez Fabregat
8068c6015f Merge pull request #6836 from coopdevs/customer-balance-reports
Customer balance reports
2021-02-17 17:34:37 +01:00
Pau Perez
36ce39a217 Sort OC report orders by completed_at
This is then consistent with the ordering we use to list orders in
/admin, which is more useful. As a result, the test is also more robust.
2021-02-16 13:25:21 +01:00
Pau Perez
cbfea1ba97 Hide new report's balance under toggle 2021-02-08 19:43:45 +01:00
Pau Perez
e4319b06e6 Take into account other finalized order states
This makes it consistent with other places where we show order balances.
Here though, we purposefully skip canceled ones.
2021-02-08 19:34:42 +01:00
Pau Perez
a66d1b7299 Compute order balance chaining with query object 2021-02-08 19:34:42 +01:00
Pau Perez
106dcbae01 Add test coverage to the two distinct output rows 2021-02-08 19:34:42 +01:00
Pau Perez
412bb24e42 Ensure report rows are always in the same order
I saw the row were returned not respecting any ordering when refreshing
the page locally. It made it hard to debug whether or not the customer
balance was right.

It's less than ideal to use `allow_any_instance_of` but with this legacy
and very coupled code, it's the best we can do.
2021-02-08 19:34:42 +01:00
Pau Perez
d6350c3d0b Remove deprecated Feature class implementation
This became dead code now.
2021-02-04 10:20:54 +01:00
Pau Perez
14cee0e45d Add new Feature class to toggle based on a closure
This enables toggling features as best fits us in each case. With this
new approach we can then toggle :customer_balance to an entire instance,
which is what we want in France.
2021-02-04 10:20:54 +01:00
Matt-Yorkley
2de54e5ae2 Fix updated_at issue in RemoveTransientData spec
The value in the test setup was not what was expected after the updates to touching the updated_at columns.
2021-01-30 13:10:38 +00:00
Matt-Yorkley
e7866db7b1 Improve efficiency in applying enterprise fees in Order#update_distribution_charge! 2021-01-29 18:32:26 +00:00
Matt-Yorkley
4f7c8062a1 Create class to map join table and simplify code 2021-01-28 21:51:50 +00:00
Matt-Yorkley
e6c59fbd96 Update data retention periods
Sessions and cart data are removed if older than 3 months, instead of 6.
2021-01-27 22:40:23 +00:00
Matt-Yorkley
0a88712926 Clear orphaned records in join table spree_option_value_line_items 2021-01-27 22:40:23 +00:00
Matt-Yorkley
4230d46a06 Remove carts older than 6 months 2021-01-27 22:40:23 +00:00
Pau Perez
4a5869b60c Remove ability to toggle mail delivery
OFN requires mails to work so there's no point in having this
conditional with the maintenance cost it entails.
2021-01-25 13:27:44 +01:00
Andy Brett
84689c43be Merge pull request #6534 from andrewpbrett/sca-emails
Send email when SCA authorization is required for admin payment
2021-01-21 13:53:35 -08:00
Andy Brett
0e7f4b2f14 Merge pull request #6537 from mkllnk/simplify-mail-config
Simplify mail config
2021-01-21 10:59:43 -08:00
Andy Brett
ab5ffead1d require that the redirect url be to stripe.com and over https 2021-01-21 09:18:29 -08:00
Maikel Linke
f1618ec35f Remove old spec context
The specs all stay the same, just changing the indent.
2021-01-14 12:05:41 +11:00
Maikel Linke
be229c9002 Simplify email config by removing unused option
Spree used to give you more options to configure ActionMailer but our
setup is much simpler. We can remove unused code.

The removed option was never used by OFN and defaulted to true. We don't
need a database migration because the value isn't set in the database.
2021-01-14 12:05:41 +11:00
Matt-Yorkley
ca4de40fa2 Associate all adjustments with an order
This change is introduced in the adjustments updates from Spree 2.2 and used heavily in new scopes and methods (not included here).
2021-01-11 17:35:35 +00:00
Matt-Yorkley
3e6445c51c Replace deprecated ActionMailer#deliver with ActionMailer#deliver_now
DEPRECATION WARNING: `#deliver` is deprecated and will be removed in Rails 5. Use `#deliver_now` to deliver immediately or `#deliver_later` to deliver through Active Job.
2021-01-08 20:35:47 +00:00
Andy Brett
3d8c7cc9f0 Merge pull request #6522 from arku/feat/stripe-credit-card-removal
Extract Stripe credit card deletion logic to a service object
2021-01-02 14:56:00 -08:00
Pau Pérez Fabregat
d4fc3f2118 Merge pull request #6516 from coopdevs/per-user-feature-toggles
Refactor FeatureToggle to toggle depending on user
2020-12-14 16:03:05 +01:00
Arun Kumar Mohan
020df3619f Add tests for Stripe::CreditCardRemover 2020-12-12 21:39:21 -05:00
Andy Brett
a745fceb53 Merge pull request #6469 from andrewpbrett/sca-backend
Allow SCA cards to be setup and charged offline for subscriptions
2020-12-11 14:23:12 -08:00
Pau Perez
182f0f66b6 Refactor FeatureToggle to toggle depending on user
This enables showing features to individual users only, which enables us
to deploy features that are not yet released to gather feedback from
product and testing, while no users have access to it.
2020-12-11 09:13:07 +01:00
Andy Brett
3daccb6420 update specs with new method signature 2020-12-10 12:17:55 -08:00
Maikel Linke
3f6288d5c7 Load rake task under test for all its specs
If you ran only the second spec without the first, the rake file wasn't
loaded and the test failed.
2020-12-10 15:35:05 +11:00
Andy Brett
3d47ad7e33 add stubs for stripe requests 2020-12-08 07:52:42 -08:00
Luis Ramos
5b00868c6f Allow mutable strings in some specs 2020-12-03 06:38:24 -08:00
Luis Ramos
2b8f0abe49 Try some mass auto-correct adding frozen-string-literal to all specs 2020-12-03 06:38:24 -08:00