Commit Graph

2457 Commits

Author SHA1 Message Date
Matt-Yorkley
f894473e03 Delete dead code: Order#item_count 2021-03-06 00:04:46 +00:00
Matt-Yorkley
68e752ef32 Delete dead code: Order#has_available_shipment 2021-03-05 23:42:08 +00:00
Matt-Yorkley
365700615a Remove dead code: Spree::Config.auto_capture
We set this value to `true` unconditionally in an initializer, and then check the value in various places via Spree::Config. It's never false, and it's not configurable, so we can just drop it and remove the related conditionals. 🔥
2021-03-05 16:03:07 +00:00
Matt-Yorkley
3396319f29 Fix test setup in Order spec 2021-03-04 14:27:02 +00:00
Matt-Yorkley
945605e3a8 Rename Shipment #adjustment to #fee_adjustment for clarity 2021-03-04 14:27:02 +00:00
Matt-Yorkley
eed71d795e Use persisted shipment in shipping adjustment test 2021-03-04 14:27:02 +00:00
Matt-Yorkley
f956aca82f Use shipping fee adjustment as single source of truth, and persist it on the shipment :cost field when it changes. 2021-03-04 14:27:02 +00:00
Matt-Yorkley
aa16c64f20 Update Order#finalize! to include all adjustments 2021-03-04 14:27:02 +00:00
Matt-Yorkley
c0b33de0f0 Move #adjustment_label to shipment 2021-03-04 14:27:02 +00:00
Matt-Yorkley
d4c9d70caa Update Adjustment specs 2021-03-04 14:27:02 +00:00
Matt-Yorkley
f0aa43e198 Update Order shipment adjustments fetching 2021-03-04 14:27:01 +00:00
Matt-Yorkley
1aec324269 Update shipment cost spec 2021-03-04 14:27:01 +00:00
Matt-Yorkley
4c57addb02 Move shipping fee adjustment from the order to the shipment 2021-03-04 14:27:01 +00:00
Matt-Yorkley
551cb9a2d2 Remove Shipment#cost method
Cost is now recorded on the shipment record itself
2021-03-04 14:27:01 +00:00
Matt-Yorkley
81cdc2eac1 Bring in Shipment#update_amounts method 2021-03-04 14:27:01 +00:00
Matt-Yorkley
2a0f132b8b Improve ShippingMethod -> Shipment association
5a54a0b6b0
2021-03-04 14:27:01 +00:00
Pau Perez
3b7f45516c Toggle bulk coop report balance calculation
This will make users hit the new method that implements the new
calculation we are aiming for, only if they have the feature enabled.
2021-03-03 18:19:26 +01:00
Pau Perez
cd60cea5de Extract balance-related methods into module
This model concerns helps us put together this related methods. Although
it doesn't provide any encapsulation yet, it makes a bit easier to
consider them all next time we need to change this implementation
somehow. It's a bit of an illusion but it feels like we are making this
God object model a bit smaller.

It also gives more room for documentation that will aid future devs.
2021-03-03 18:19:26 +01:00
Pau Perez
d1fde07535 Extend #outstanding_balance to mimic OustandingBalance 2021-03-03 18:19:26 +01:00
Pau Perez
c69f0baf9f Extract specs related to outstanding_balance 2021-03-03 18:19:26 +01:00
Matt-Yorkley
d17ff38a7e Delete Order#tax_total
#display_tax_total is not used anywhere, #tax_total is used in once place but it's not needed.
2021-03-03 11:26:32 +00:00
Pau Perez
d439a5074b Remove unnecessary delegation specs
The custom RSpec matchers they use raises the following deprecation
warning

```
Using `stub` from rspec-mocks' old `:should` syntax without explicitly enabling the syntax is deprecated. Use the new `:expect` syntax or explicitly enable `:should` instead. Called from /home/runner/work/openfoodnetwork/openfoodnetwork/spec/support/matchers/delegate_matchers.rb:22:in `block (2 levels) in <top (required)>'.
```

It's not worth maintaining those matchers to test such
implementation-related thing. Whether or not any delegations work is
something that will be caught by integration tests or directly stubbing
the collaborator object's methods.

This stems from
https://github.com/openfoodfoundation/openfoodnetwork/pull/6902.
2021-03-02 11:54:46 +01:00
Matt-Yorkley
16eff698df Remove dead code; Spree::Order #line_item_adjustment_totals and #price_adjustment_totals 2021-02-27 11:56:44 +00:00
Maikel
3e0547f563 Merge pull request #6926 from andrewpbrett/check-nan
Ensure unit_value is a number
2021-02-23 10:40:00 +11: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
Andy Brett
dec6d2189f add unit test for unit_value 2021-02-21 22:26:36 -08:00
Matt-Yorkley
9303d61db1 Update specs 2021-02-19 11:17:58 +00:00
Matt-Yorkley
42a5d7cdc7 Delete dead code Variant#set_option_value 2021-02-17 14:27:51 +00:00
Matt-Yorkley
81ac2c5add Delete code related to :cost_price field 2021-02-17 14:27:51 +00:00
Pau Pérez Fabregat
a88280566c Merge branch 'master' into increase-precision 2021-02-17 11:36:36 +01:00
Pau Pérez Fabregat
34ce3c0db1 Merge branch 'master' into remove_pin 2021-02-11 11:19:18 +01:00
Pau Pérez Fabregat
ed1c1e5607 Merge pull request #6823 from Matt-Yorkley/dead-code-shipment
Dead code: Shipment#total_cost
2021-02-08 13:44:14 +01:00
Maikel
173cf9e536 Merge pull request #6565 from Matt-Yorkley/adjustments-inclusive
[Adjustments] Improve inclusive/additional tax recording
2021-02-08 09:38:31 +11:00
Matt-Yorkley
14530ddbc5 Remove dead code: Shipment#total_cost 2021-02-07 13:41:44 +00:00
Matt-Yorkley
8d6468dab1 Remove dead code: Shipment#display_total_cost 2021-02-07 13:41:40 +00:00
Matt-Yorkley
b9f46d4253 Increase precision on database columns that involve prices
Increases the maximum number of digits (on the left side of the decimal place) that the column can hold, to allow larger values. This change is made in Spree 2.2 and is relevant in cases with either large order values, or certain currencies that have large values as standard. For example, 100 UK Pounds is roughly 4000 Thai Baht. 1 million pounds is unlikely to ever be needed as a value, but 1 million Baht is not so unlikely...
2021-02-07 00:16:32 +00:00
Matt-Yorkley
7bf31d120b Add price field test 2021-02-07 00:05:39 +00:00
Luis Ramos
c0ddeceb1e Remove Pin Payments 2021-02-06 11:15:48 +00:00
Andy Brett
f746dec537 update spec 2021-02-04 13:52:45 -08:00
Pau Pérez Fabregat
3ab6da03e7 Merge pull request #6296 from luisramos0/remove_migs
Remove Migs payment gateway
2021-02-04 22:07:35 +01:00
Luis Ramos
e69eefdc0f Remove Migs payment gateway 2021-02-03 21:41:40 +00:00
Pau Pérez Fabregat
79f98bdfa7 Merge pull request #6770 from Matt-Yorkley/more-dead-code
Dead code: Spree::Order#clear_adjustments
2021-02-03 09:37:42 +01:00
Matt-Yorkley
0e82160b76 Touch the updated_at column when updating records via #update_column
#update_column(s) skips callbacks (which is useful), but it doesn't change the updated_at field on the record by default (which we should be doing in these cases).

This change is made in Spree 2.2 here: b367c629ce
2021-01-30 12:49:38 +00:00
Matt-Yorkley
b2b6d3ab87 Relocate specs for #provided_by_order_cycle? method extracted from Order class to service 2021-01-29 21:53:11 +00:00
Matt-Yorkley
3ecdfca9cf Rename fee adjustment clear-all method 2021-01-29 21:52:28 +00:00
Matt-Yorkley
9abf6cdcdf Rename expensive method Order#update_distribution_charge!
This method is named "update distribution charge". What this method actually does is delete all of the fee adjustments on an order and all it's line items, then recreate them all from scratch. We call this from lots of different places all the time, and it's incredibly expensive. It even gets called from inside of transactions being run inside callbacks. Renaming it hopefully will add a bit of clarity.

This needs to be a lot more granular!
2021-01-29 21:52:28 +00:00
Matt-Yorkley
785cdf9bdc Extract order fees logic to service 2021-01-29 21:52:27 +00:00
Matt-Yorkley
fc06e5e4c3 Remove dead code Spree::Order#clear_adjustments 2021-01-29 19:58:05 +00:00
Matt-Yorkley
ff54426e30 Expand tests on additional and inclusive taxes. 2021-01-23 03:59:32 +00:00
Matt-Yorkley
173e502c98 Rename #included scope to #inclusive
This method name (#included) is reserved and used internally by ActiveRecord. After updating Ruby, this has changed from a silent warning to a fatal error.
2021-01-23 03:59:32 +00:00