https://github.com/openfoodfoundation/openfoodnetwork/issues/3477
The admin orders edit form was displaying adjustments even if they were
"not eligible". For example, an additional fee with amount `0` is not
eligible. They were already hidden in the adjustments view and we are
hiding them in reports.
Spree 2.0 keeps shipping fee adjustments open unless they are manually
closed. But open adjustments cannot be edited.
To preserve updates, like changing the amount of the shipping fee
we close the adjustment first.
The changed spec was failing from time to time. This change seems to
make it stable. It may be worth moving tag entering into a helper that
verifies that the tag was entered (waits for it).
In OFN we cannot split the orders because one order can only have one shipment
Additionally, add spec to validate that the order workflow now works with products with different shipping categories
This groups the Customer Totals report by variant too (among others,
including by product), and then changes the report to use the variant
SKU not the product SKU.
This adds a spec for customer totals grouping and details, which
replaces the test specific to the SKU column.
This conversion is done by Transpec 3.4.0 with the following command:
transpec spec/lib/open_food_network/orders_and_fulfillments_report_spec.rb
* 8 conversions
from: == expected
to: eq(expected)
* 8 conversions
from: obj.should
to: expect(obj).to
* 1 conversion
from: obj.stub(:message)
to: allow(obj).to receive(:message)
For more details: https://github.com/yujinakayama/transpec#supported-conversions
Note that, as explained in
https://apidock.com/rails/v3.2.13/ActiveRecord/Relation/delete, `delete` does
not trigger callbacks and so it skips the products cache logic.
If we still want to avoid instantiating the AR object, we need to explicitly
call that logic for the cache to be up-to-date.
A previous pull request added support for flexible decimal characters
when editing money amounts.
https://github.com/openfoodfoundation/openfoodnetwork/pull/1831
This pull request applies the same principle to the weight calculator
which was missed in the previous pull request.
The `registration_path` helper resolves to `/signup` in Spree
controllers due to spree_auth_device > config > routes.rb.
We worked around that in:
https://github.com/openfoodfoundation/openfoodnetwork/pull/3174
Here we add a spec for this so that we can test more easily if we
remove that workaround or detect it's accidental removal.
The `registration_path` helper resolves to `/signup` in Spree
controllers due to spree_auth_device > config > routes.rb.
We worked around that in:
https://github.com/openfoodfoundation/openfoodnetwork/pull/3174
Here we add a spec for this so that we can test more easily if we can
remove that workaround or detect it's accidental removal.