OrderUpdater#shipping_address_from_distributor uses order.address_from_distributor to set order.ship_address when order is not delivery: this will clear the ship address as it was done previously without setting an empty address like Spree::Address.default
This logic is already repeated in the before_save hook in the OrderUpdater where the distributor address is put into the ship_address on order.finalize
In cases the order is not to be finalized we keep the ship_address sent from the client as we may need it to make the order workflow work properly
The edge case here is when ship_address is present but empty, on the checkout_controller we are going to move from using an empty ship_address to using a non-empty one. We keep the original case where this spec was testing with a nil order.ship_address
Since we adopted Skylight to get response times across endpoints and
instances, we failed to get accurate numbers. Our Rails version is not
supported and thus Skylight fails to provide data for the slowest
endpoints, the ones we care about the most. Even with a supported one we
could potentially hit any limits on tracing and have the same problem.
Recently, we started paying for Datadog's APM and the experience,
although it's still early, has been better. It makes it possible to
correlate between services and other metrics which helps spotting the
underlying issues.
Therefore, having two agents running on the server consumes system
resources so we better get rid of Skylight's one.
OFN it's hard enough. No need to abuse implicitness making things very
hard to follow.
I've spent around 20min trying to find out where this controller action
was implemented until I realized Rails renders the matching view if no
controller action is defined.
Making it git-greppable makes it a bit easier next time.
We have no way to see the output of this weird RSpec integrity check
thus, it's pointless. It only adds unnecessary load the server.
However, the issue it checks seems to still be happening although
not very often. UK's server has 70 occurrences the last one being from
early 2019 while FR's server returns 10.
Guard and the other Guard-related gems should be removed from our
Gemfile. We think is not worth the extra dependencies given the effort
it requires to keep them up-to-date.
This came up in a PR that was upgrading Guard: #4213.
This conversion is done by Transpec 3.4.0 with the following command:
transpec spec/features/consumer/shopping/checkout_spec.rb
* 43 conversions
from: obj.should
to: expect(obj).to
* 8 conversions
from: obj.should_not
to: expect(obj).not_to
* 3 conversions
from: == expected
to: eq(expected)
For more details: https://github.com/yujinakayama/transpec#supported-conversions