Commit Graph

20524 Commits

Author SHA1 Message Date
Matt-Yorkley
e290c128bf Fix error in Api::ShipmentController#update with :unlock parameter
This is a generic issue caused by a clash between state machines trying to define (or failing to define) the #open method on adjustments as part of their state changes interface. This method is already defined in Object. For more details, see: bb42e33bf7/lib/state_machines/machine.rb (L323-L350)
2021-04-30 14:13:22 +01:00
Matt-Yorkley
95a73704a2 Add more test coverage to Api::ShipmentController#update 2021-04-30 14:09:32 +01:00
Matt-Yorkley
b843b871f6 Ensure order totals and payment/shipment states are correct when changing shipping method on a completed order.
This used to happen via an after_save callback in Shipment, which called `order.update!`. That has recently been removed. After changing a shipment's selected shipping rate (shipping method), we need to ensure the order's totals and states are updated. We don't need to update all of the order's adjustments though (see previous commit).

FYI Spree handled this issue like this: 24388485ed, but there are lots of things about that commit that are clearly awful, like: params handling in a model, duplication of Order::Updater logic across the codebase, the Shipment class having responsiblity for knowing which things need to be updated on the order, etc. The result is ultimately the same as what we're doing here though.
2021-04-30 12:57:01 +01:00
Matt-Yorkley
925676f136 Split Order::Updater#update into two methods
There are two distinct (and very important) operations happening here. The first is to update all adjustments (which can be *incredibly* expensive) and the second is to ensure the order's totals and shipping/payment states are correct. There are lots of places where we currently do both of these things where in fact we only need to do the latter (and skip the really expensive part).
2021-04-30 12:48:53 +01:00
Matt-Yorkley
d3f41f14c7 Add test coverage for Api::ShipmentsController#update 2021-04-30 12:45:49 +01:00
Matt-Yorkley
045ce73c83 Simplify shipment controller params 2021-04-30 12:20:47 +01:00
Matt-Yorkley
932d000c9d Improve shipping method factory
You can now specify an amount for the flat_rate option.
2021-04-30 12:19:43 +01:00
Andy Brett
f64d5a9f59 Merge pull request #7438 from jibees/7353-fix-OC-display-issue-text-on-two-lines
Change the position of order_cycle component into a shop front
2021-04-29 14:05:06 -07:00
Andy Brett
c069a23926 Merge pull request #7476 from cillian/admin-stripe-elements-width
Increase the width of Stripe Elements fields in admin so they don't overlap
2021-04-29 14:04:44 -07:00
Andy Brett
8ba139c6fb Merge pull request #6825 from julesemmac/6584-map-location-confirm
6584 map location confirm
2021-04-29 14:04:06 -07:00
Matt-Yorkley
0291a7c471 Merge pull request #7482 from Matt-Yorkley/updater-update
Updater update
2021-04-29 21:12:15 +02:00
Andy Brett
699f1c4f41 Merge pull request #7497 from andrewpbrett/fix-double-stripe-payments
Use capture! if payment is already authorized
2021-04-29 08:35:19 -07:00
Pau Pérez Fabregat
6c5db0f836 Merge pull request #7507 from Matt-Yorkley/shipment-state-update
Shipment callback state update
2021-04-29 12:01:55 +02:00
Matt-Yorkley
2f49d089ea Use Time.zone.now 2021-04-29 08:56:17 +01:00
Matt-Yorkley
290c1d0ebf Bring in shipment state updating from Spree 2.2 2021-04-28 21:43:28 +01:00
Matt-Yorkley
2fda550821 Add test for shipment state after ship action 2021-04-28 21:40:08 +01:00
Andy Brett
4f246da79f add feature spec 2021-04-28 11:25:43 -07:00
Andy Brett
73e5fd3f5b use method to clarify intent on payment intents 2021-04-28 10:43:06 -07:00
Andy Brett
4736013946 update spec 2021-04-28 10:43:06 -07:00
Pau Pérez Fabregat
6ee6e4ed04 Merge pull request #7472 from openfoodfoundation/transifex
Transifex
2021-04-28 19:36:43 +02:00
Pau Pérez Fabregat
ef9720aee7 Merge pull request #7461 from andrewpbrett/fix-blocked-bo-orders
Scope variant to take overrides into account in packer
2021-04-28 19:36:02 +02:00
Matt-Yorkley
4bd2fb8930 Merge pull request #7498 from openfoodfoundation/dependabot/bundler/view_component-2.31.1
Bump view_component from 2.31.0 to 2.31.1
2021-04-28 12:47:55 +02:00
dependabot[bot]
2494ba0def Bump view_component from 2.31.0 to 2.31.1
Bumps [view_component](https://github.com/github/view_component) from 2.31.0 to 2.31.1.
- [Release notes](https://github.com/github/view_component/releases)
- [Changelog](https://github.com/github/view_component/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/view_component/compare/v2.31.0...v2.31.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-28 05:28:59 +00:00
Andy Brett
9906afa1a6 use capture! if payment is already authorized 2021-04-27 17:59:03 -07:00
Matt-Yorkley
1d29e277f2 Merge pull request #7493 from Matt-Yorkley/order-states-bug-redux
Reload order before updating in Payment callback
2021-04-27 17:43:34 +02:00
Matt-Yorkley
c7e65185ee Regression test for new order with variant overrides 2021-04-27 07:44:41 -07:00
Matt-Yorkley
22f79fe540 Reload order before updating in Payment callback 2021-04-27 14:27:35 +01:00
Matt-Yorkley
a5a324fd6f Add failing spec for payment and shipment states bug
The order was being left in an unexpected condition here, it's states are not set and there seem to be some weird issues.
2021-04-27 14:27:35 +01:00
Matt-Yorkley
5934b100e9 Test payment and shipment states in checkout spec
If these aren't behaving correctly we need to know about it...
2021-04-27 14:27:35 +01:00
Matt-Yorkley
574d78403d Merge pull request #7433 from coopdevs/raise-on-failed-customer-creation
Notify Bugsnag if customer fails to be created
2021-04-27 12:42:39 +02:00
Matt-Yorkley
3c1889d719 Merge pull request #7490 from openfoodfoundation/dependabot/bundler/view_component-2.31.0
Bump view_component from 2.30.0 to 2.31.0
2021-04-27 12:08:29 +02:00
Matt-Yorkley
cc85bf791a Merge pull request #7481 from openfoodfoundation/dependabot/bundler/codecov-0.5.2
Bump codecov from 0.5.1 to 0.5.2
2021-04-27 09:24:51 +02:00
dependabot[bot]
fa32aecebf Bump view_component from 2.30.0 to 2.31.0
Bumps [view_component](https://github.com/github/view_component) from 2.30.0 to 2.31.0.
- [Release notes](https://github.com/github/view_component/releases)
- [Changelog](https://github.com/github/view_component/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/view_component/compare/v2.30.0...v2.31.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-27 05:26:40 +00:00
Andy Brett
de02acad64 add feature spec 2021-04-26 15:42:36 -07:00
Matt-Yorkley
f52d03fbf4 Refactor Order::Updater#update so we don't call update_totals twice
Calling this method twice on every update is really expensive and not necessary.
2021-04-26 11:46:05 +01:00
Pau Perez
ee01b0162c Write if as a one-liner and avoid extra queries 2021-04-26 12:39:03 +02:00
Pau Perez
002dabb80c Improve spec 2021-04-26 10:15:13 +02:00
Pau Perez
451e05985f Fix spec 2021-04-26 10:15:13 +02:00
Pau Perez
679de40a41 Move specs to where they belong 2021-04-26 10:15:13 +02:00
Pau Perez
5845ace8e9 Don't persist models to test serializer
Serializers don't care whether or not the objects they go through are
persisted in DB. They just convert them.
2021-04-26 10:15:13 +02:00
Pau Perez
c65d82be01 Notify Bugsnag if customer fails to be created
This will hopefully let us see in Bugsnag when #6038 happens and so
we'll have all the diagnostics data. The fact that the `order.distributor`
is optional but mandatory to create the customer already gives us some
clue.
2021-04-26 10:15:12 +02:00
dependabot[bot]
69dd33383c Bump codecov from 0.5.1 to 0.5.2
Bumps [codecov](https://github.com/codecov/codecov-ruby) from 0.5.1 to 0.5.2.
- [Release notes](https://github.com/codecov/codecov-ruby/releases)
- [Changelog](https://github.com/codecov/codecov-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-ruby/compare/v0.5.1...v0.5.2)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-26 05:53:44 +00:00
Andy Brett
6153f1c1b4 Merge pull request #7471 from Matt-Yorkley/dead-scopes
Order scopes
2021-04-25 11:51:00 -07:00
Andy Brett
6f20a23d47 Merge pull request #7436 from coopdevs/remove-duplicate-method
Replace duplicate #unauthorized method with module inclusion
2021-04-25 11:26:12 -07:00
Cillian O'Ruanaidh
8cdc4bc3f4 Increase the width of Stripe Elements fields in admin so they don't overlap
The card number and expiry month/year fields were overlapping on the new payment form in the admin area.
2021-04-23 17:54:22 +01:00
Andy Brett
e42b0bb1ae Merge pull request #7469 from openfoodfoundation/dependabot/bundler/view_component-2.30.0
Bump view_component from 2.28.0 to 2.30.0
2021-04-23 09:48:57 -07:00
Andy Brett
5e21480ae0 add packer spec 2021-04-23 09:35:27 -07:00
Matt-Yorkley
0c08e3cb3a Merge pull request #7466 from openfoodfoundation/dependabot/npm_and_yarn/storybook/addon-docs-6.2.9
Bump @storybook/addon-docs from 6.2.7 to 6.2.9
2021-04-23 13:53:04 +02:00
dependabot[bot]
3c9b7db763 Bump @storybook/addon-docs from 6.2.7 to 6.2.9
Bumps [@storybook/addon-docs](https://github.com/storybookjs/storybook/tree/HEAD/addons/docs) from 6.2.7 to 6.2.9.
- [Release notes](https://github.com/storybookjs/storybook/releases)
- [Changelog](https://github.com/storybookjs/storybook/blob/v6.2.9/CHANGELOG.md)
- [Commits](https://github.com/storybookjs/storybook/commits/v6.2.9/addons/docs)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-23 11:49:16 +00:00
Matt-Yorkley
d116d664f5 Merge pull request #7467 from openfoodfoundation/dependabot/npm_and_yarn/storybook/addon-controls-6.2.9
Bump @storybook/addon-controls from 6.2.7 to 6.2.9
2021-04-23 13:47:14 +02:00