Commit Graph

25 Commits

Author SHA1 Message Date
Pau Perez
5bca7d1f8f Remove the old balance's code branch
This keeps the `OrderBalance` abstraction but removes the old code now
that the feature is enabled for all users in all instances and there are
no bugs reported. It's become dead code.
2021-04-19 11:52:41 +02:00
Pau Perez
5cf4aecc26 Enable customer_balance toggle in tests
This makes all tests exercise the new branch that `OrderBalance`
abstracts. It follows up #7363 addressing code review comments.
2021-04-12 09:31:23 +02:00
Luis Ramos
ad3745f032 Fix rspec syntax 2021-03-26 22:19:16 +00:00
Luis Ramos
59e900826e Replace spree_get with get
Spree helper method is not needed
2021-01-22 22:22:50 +00:00
Pau Perez
398467e7ed Hide new balance impl. under feature toggle
This makes it possible to deploy it without releasing it to users since
the toggle is not enabled for anyone.

It aims to make the balance calculation consistent across pages.
2021-01-11 15:50:19 +01:00
Pau Perez
46d997406a Filter out cart orders when fetching customers
We only care about non-cart orders and skipping carts, saves PostgreSQL
query planner to go through thousands of records in production use cases
(my food hub).

We go from

```sql
 ->  Index Scan using index_spree_orders_on_customer_id on spree_orders  (cost=0.42..12049.45 rows=152002 width=15) (actual time=0.015..11.703 rows=13867 loops=1)
```

to

```sql
->  Index Scan using index_spree_orders_on_customer_id on spree_orders  (cost=0.42..12429.46 rows=10802 width=15) (actual time=0.025..17.705 rows=9954 loops=1)
```
2021-01-11 15:50:19 +01:00
Pau Perez
539c5d067a Update order payment_total when voiding a payment
As is, `payment_total` is only increased after successfully processing
a payment and never updated. This inconsistency breaks
`CustomerWithBalance` which relies on it.

Needless to say that if we keep this denormalized column, we better make
it consistent. I investigated current Spree's master branch (709e686cc0)
and they also realized it was broken. Now `Payment` runs the following
from the `after_save` `update_order` callback.

```rb
order.updater.update_payment_total if completed? || void?
```

I also took the chance to rearrange tests a bit.
2021-01-11 15:50:19 +01:00
Pau Perez
96a91969c9 Extract balance-specific serializer
So we only show the customer balance where really needed. Aggregating
the balance can be costly. Also, we avoid defensive coding.
2021-01-11 15:50:19 +01:00
Luis Ramos
2b8f0abe49 Try some mass auto-correct adding frozen-string-literal to all specs 2020-12-03 06:38:24 -08:00
Luis Ramos
0f5aa11f05 Nest spec in module declaration 2020-10-26 16:50:29 +00:00
Luis Ramos
a2ebc614d9 Rename AuthenticationWorkflow to AuthenticationHelper 2020-07-27 15:32:35 +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
Rob Harrington
edde929ced Replace uses of #stub with #allow in Admin::CustomersController 2018-07-05 19:26:12 +10:00
Rob Harrington
21c3f7d21c Remove unrequired #cards and #addresses actions from Admin::CustomerController 2018-07-05 19:26:12 +10:00
Rob Harrington
cf8ca1f8c1 Add show action to Admin::CustomersController 2018-07-05 19:26:11 +10:00
Rob Harrington
03f1980b1b Auto-correct rubocop offences for standing-orders 2018-02-09 14:44:07 +11:00
Rob Harrington
bdac68900f Move address and card loading logic down into DetailsController
Also switch to using CreditCardResource to load the card
2018-02-09 14:44:05 +11:00
Rob Harrington
494f2f4821 Add cards lookup action to CustomersController 2018-02-09 14:44:04 +11:00
Rob Harrington
d3937e5c80 Move customer address lookup action to CustomersController 2018-02-09 14:44:03 +11:00
Rob Harrington
61969f5c84 Ensure CustomersController#update.json gives an appropriate response
pendingChanges submits an empty string when a field is blank (rather than undefined)
2016-06-16 22:42:53 +10:00
Maikel Linke
48f1794d70 Allow admin user to create customers 2016-04-15 14:34:29 +10:00
Maikel Linke
831df0b222 Create and delete customers in admin interface
Removed Customers service and extended CustomerResource.
2016-04-15 11:12:22 +10:00
Maikel Linke
d6c630dad9 add spec_helper to customers_controller_spec 2015-06-05 14:25:45 +10:00
Rob Harrington
2afd501af3 Wiring up update action for customers controller 2015-05-13 12:44:34 +10:00
Rob Harrington
220f42fcf2 Customers controller serializes data for json requests, just renders view without data for html 2015-05-13 12:44:32 +10:00