Commit Graph

1792 Commits

Author SHA1 Message Date
Matt-Yorkley
0f5af2d9f1 Merge pull request #6927 from Matt-Yorkley/adjustments-payment-fee
[Adjustments] Payment fee adjustment
2021-03-25 17:40:53 +01:00
Matt-Yorkley
0ab43d23f9 Replace deprecated reloading by passing true to an association
object.relation(true) -> object.relation.reload
2021-03-24 17:51:22 +00:00
Matt-Yorkley
3294b33431 Update Payment spec 2021-03-23 18:19:06 +00:00
Matt-Yorkley
a42651d543 Update Payment fee adjustment 2021-03-23 18:17:50 +00: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
Andy Brett
b539015647 Merge pull request #7025 from Matt-Yorkley/adjustments-order-taxes
[Adjustments] Simplify order tax adjustments
2021-03-23 09:37:44 -07:00
Andy Brett
aab1a5e5d5 Merge pull request #7147 from Matt-Yorkley/deprecations-2
Deprecations 2
2021-03-22 17:28:11 -07:00
Matt-Yorkley
49f1e44999 Simplify Order#total_tax to cover all taxes from all sources 2021-03-18 14:05:29 +00:00
Matt-Yorkley
2f262f70e1 Update #subject syntax 2021-03-18 13:19:16 +00:00
Matt-Yorkley
bd81289240 Use persisted order is order spec 2021-03-18 13:18:20 +00:00
Matt-Yorkley
2c7d6453ce Fix adjustment test setup in Order spec
Missing order associations...
2021-03-18 13:18:20 +00:00
Matt-Yorkley
f2627dff0b Loosen scope in adjustment spec to include enterprise fees on line items 2021-03-18 13:18:20 +00:00
Matt-Yorkley
f67a8e4af3 Update and simplify LineItem#price_with_adjustments 2021-03-18 13:18:20 +00:00
Matt-Yorkley
5bbe768827 Update order total in test setup 2021-03-18 13:16:19 +00:00
Matt-Yorkley
be3e184651 Merge pull request #6973 from Matt-Yorkley/adjustments-line-item-taxes
[Adjustments] Update line item taxes
2021-03-18 11:50:01 +01:00
Matt-Yorkley
751b9349e8 Merge pull request #7015 from andrewpbrett/shopfront-producers
Only show primary producers on shopfront list of producers (fix #4218)
2021-03-17 23:30:42 +01:00
Matt-Yorkley
064f7582cc Update line_item included taxes
Drops use of the `spree_adjustments.included_tax` database field (when summing line item tax), which we are slowly deprecating before eventual removal
2021-03-17 22:23:04 +00:00
Andy Brett
9d33b36799 Merge pull request #7024 from Matt-Yorkley/dead-code-auto-capture
DCOTW: Spree::Config[:auto_capture]
2021-03-17 09:31:00 -07:00
Luis Ramos
333a488dc8 Fix deprecation warning 2021-03-17 16:23:53 +00:00
Matt-Yorkley
29e0786906 Fix inheritance of Migration object in spec
Fixes:

Spree::Preferences::Preferable persisted preferables requires a valid id but returns default values
       Failure/Error:
               class CreatePrefTest < ActiveRecord::Migration
                 def self.up
                   create_table :pref_tests do |t|
                     t.string :col
                   end
                 end

                 def self.down
                   drop_table :pref_tests
                 end

       StandardError:
         Directly inheriting from ActiveRecord::Migration is not supported. Please specify the Rails release the migration was written for:

           class CreatePrefTest < ActiveRecord::Migration[4.2]
       # ./spec/models/spree/preferences/preferable_spec.rb:225:in `block (3 levels) in <top (required)>'
2021-03-17 15:22:22 +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
2d9d293405 Replace deprecated use of :reload argument 2021-03-16 12:04:35 +00:00
Pau Pérez Fabregat
71aec23c0d Merge pull request #7064 from coopdevs/abstract-order-balance
Abstract order balance in a simple PORO
2021-03-15 11:35:45 +01:00
Matt-Yorkley
321da76005 Update regression test
This error is no longer thrown by the payment object creation
2021-03-11 12:23:00 +00:00
Matt-Yorkley
6bb85e9acd Fix payment and shipment states issue
For some reason the order objects were stale here when calling order.update! from either a payment or shipment callback, which was overwriting those states as nil on the order.
2021-03-11 12:23:00 +00:00
Matt-Yorkley
8d8df447c6 Remove debugging 2021-03-11 12:19:55 +00:00
Matt-Yorkley
4c64aaed77 Remove callbacks in Adjustment that call order.update! 2021-03-11 11:20:01 +00:00
Matt-Yorkley
791a47d170 Merge pull request #6858 from Matt-Yorkley/adjustments-shipping-cost
[Adjustments] Move shipping adjustment from order to shipment
2021-03-11 12:17:14 +01:00
Pau Perez
42d0f16773 Abstract order balance in a simple PORO
This new class lets us [Branch by
abstraction](https://www.martinfowler.com/bliki/BranchByAbstraction.html)
by encapsulating an order's balance. As a result, that's the only place
where we need to check the feature toggle, instead of every place where
`#outstanding_balance` is called (quite some). That would be very hard
to review and it'd be more likely to introduce bugs.

What I like about this is that we also managed to group together the
data and logic that we had spread in a few places and have it nicely
encapsulated. So, where we had a number, we'll now have an object.

Once we fully change all `#outstanding_balance` consumers to use this
new abstraction we'll be able to remove the methods this class replaces.
These are: `Spree::Order#outstanding_balance?`,
`Spree::Order#display_oustanding_balance` and
`OrderHelper.outstanding_balance_label`.

This is just the first step. I'll follow this up with a PR per
page/mailer/whatever where we use the balance to replace it with an
instance of `OrderBalance`. That is, splitting up what I explored in
https://github.com/openfoodfoundation/openfoodnetwork/pull/6959 but in
very small and manageable pieces.
2021-03-10 16:09:09 +01:00
Andy Brett
05a074d33a Merge pull request #7041 from Matt-Yorkley/adjustments-set-eligibility
[Adjustments] Remove Adjustment#set_eligibility
2021-03-09 13:33:21 -08:00
Andy Brett
0125b5f10e add spec for plus_relatives_and_oc_producers 2021-03-08 09:10:40 -08:00
Pau Pérez Fabregat
6b111561e8 Merge pull request #7000 from Matt-Yorkley/dead-code-tax-total
DCOTW: Order#tax_total
2021-03-08 16:57:59 +01:00
Matt-Yorkley
c99a9f4ee1 Remove Adjustment#set_eligibility 2021-03-08 15:29:04 +00:00
Pau Pérez Fabregat
876c378e4f Merge pull request #7028 from Matt-Yorkley/dead-code-available-shipment
DCOTW: Order#has_available_shipment
2021-03-08 15:25:39 +01:00
Matt-Yorkley
af29c67ea5 Update Order#ship_total 2021-03-06 14:14:56 +00:00
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