Commit Graph

82 Commits

Author SHA1 Message Date
Neal Chambers
5b6f45931c Fix Layout/LineLength 2023-06-26 13:06:56 +09:00
Neal Chambers
940f806e5f Fix Rubocop Layout/LineLength 2023-04-04 09:44:15 +09:00
filipefurtad0
2e4a8f8ae8 Fixes deprecation warnings on payment_spec 2022-12-06 15:49:19 +00:00
filipefurtad0
b66d263bc6 Replaces stub with allow 2022-11-23 15:12:09 +01:00
Matt-Yorkley
711a51f2ff Remove .eligible scope
In this case we actually expect there to be no payment fee adjustments at all on the payment, regardless of their eligibility.
2022-02-15 12:24:28 +00:00
Matt-Yorkley
5fba7811c4 Remove #try
#try is useful when the object might be nil or might not respond to the given method. In this case we expect it to exist and respond to #finalized?, so this is a bit more precise.
2022-02-15 12:21:34 +00:00
Matt-Yorkley
5be1b139b9 Replace .stub with expect(x).to receive(:y)
The #stub method is slightly deprecated syntax. Using #expect has the additional benefit here of failing if the object does not receive the expected method call.
2022-02-15 12:19:15 +00:00
Nihal M. Kelanthodika
b017420319 Add specs to check ensure payment method fee is not applied when crediting/refunding order 2022-02-15 11:52:26 +00:00
Matt-Yorkley
e5818955ff Invalidate all incomplete payments when creating a new one, not just those in "checkout" state.
Looking at prod data; when a checkout submission fails due to something like a card being out of date, the payment's state seems to be "pending" and not "checkout", which means this mechanism fro invalidating old payments is potentially not working where it should.
2022-02-11 17:25:27 +00:00
Filipe
b256696544 Merge pull request #8549 from mkllnk/deprecate-stripe-connect
Hide old "Stripe" (StripeConnect) payment method type, keep new Stripe SCA
2021-12-23 21:33:42 +00:00
Maikel Linke
178d296c9f Adapt specs to use stripe_sca_payment_method
There are still some specs directly related to StripeConnect and I left
them for now.
2021-12-20 15:00:14 +11:00
Cillian O'Ruanaidh
84eaafb822 Add a :captured_at column on payments to store when they are captured
Fixes #8611.
2021-12-17 14:45:47 +00:00
Jean-Baptiste Bellet
58ea420626 Voiding a payment should revoke any payment fees
... and create a new one if a new payment is then linked to the order.
2021-11-30 09:42:10 +01:00
Maikel
a3c31f7d86 Revert "Kill stripe connect" 2021-09-20 08:39:34 +10:00
Luis Ramos
f90e34bb47 Adapt specs to use stripe_sca_payment_method factory and delete stripe_connect_payment_method 2021-09-10 14:43:34 +05:30
Pau Pérez Fabregat
db993652c4 Merge branch 'master' into payment-states 2021-06-18 12:20:26 +02:00
Andy Brett
95f123d137 update success response in payment spec 2021-06-17 14:23:59 -07:00
Andy Brett
2699e17b63 update specs to create payment in requires_authorization state 2021-06-17 14:23:59 -07:00
Andy Brett
a6cec20056 update success_response in payment_spec 2021-06-17 14:23:59 -07:00
Andy Brett
a3d9f1f3cc create requires_authorization payment state and migration 2021-06-17 14:23:58 -07:00
Luis Ramos
23627c5453 Run rubocop -a (safe corrections) removing all exceptions so all possible fixes are applied
9290 issues fixed
2021-06-17 22:19:26 +01:00
Luis Ramos
f7726e552a Adapt code coming from master to the new order api with update_order! 2021-05-19 10:09:42 -07:00
Luis Ramos
b2e97fe1d2 Rename order.update! to order.update_order! and adjustment.update! to adjustment.update_adjustment! 2021-05-19 09:54:22 -07:00
Matt-Yorkley
5dd24623f7 Merge pull request #7479 from Matt-Yorkley/payment-callbacks
Update Payment after_save callback
2021-05-18 16:19:29 +02:00
Pau Perez
69b91ea136 Wait until the end to mark payment as processed
This gives us the opportunity to retry the operation in case the
processing fails.
2021-05-06 16:19:01 +02:00
Matt-Yorkley
00c4a28d22 Extract order-updating logic to Order::Updater 2021-05-04 16:40:10 +01:00
Matt-Yorkley
135a311c05 Update void payments
Backport from Spree 2.4 stable: 4121992398
2021-05-04 16:40:10 +01:00
Matt-Yorkley
13bb5aa8dd Update Payment after_save callback
Backport from Spree 2.4 stable: 4d652a77fd
2021-05-04 16:40:09 +01:00
Andy Brett
4736013946 update spec 2021-04-28 10:43:06 -07:00
Andy Brett
9906afa1a6 use capture! if payment is already authorized 2021-04-27 17:59:03 -07:00
Pau Perez
5bca7d1f8f Remove the old balance's code branch
This keeps the `OrderBalance` abstraction but removes the old code now
that the feature is enabled for all users in all instances and there are
no bugs reported. It's become dead code.
2021-04-19 11:52:41 +02:00
Matt-Yorkley
fbda3c15ff Fix deprecated use of #stub in payment spec
Fixes:

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/models/spree/payment_spec.rb:10:in `block (3 levels) in <top (required)>'.
     RuntimeError:

       stubbed models are not allowed to access the database - Spree::Product#touch(updated_at,{:time=>2021-04-10 14:24:50 UTC})
2021-04-13 15:50:54 -07:00
Pau Perez
5cf4aecc26 Enable customer_balance toggle in tests
This makes all tests exercise the new branch that `OrderBalance`
abstracts. It follows up #7363 addressing code review comments.
2021-04-12 09:31:23 +02:00
Pau Pérez Fabregat
7d5726b6c7 Merge pull request #7150 from coopdevs/use-order-balance-object
Feature-toggle all remaining parts of the app where the order balance is shown
2021-03-30 15:58:12 +02:00
Matt-Yorkley
3294b33431 Update Payment spec 2021-03-23 18:19:06 +00:00
Pau Perez
5815d1a4a4 Make #outstanding_balance return an OrderBalance
This will let us branch by abstraction. All existing calls to
`#outstanding_balance` will go through `OrderBalance` hence, will
check the feature toggle.

Note that by default, `OrderBalance` will end up calling
`#old_outstanding_balance`. As the name states, that's exactly what
`#outstanding_balance` was so far. This means no consumers will see any
change in behavior. We just added on item in the call stack (sort of).
2021-03-22 11:45:12 +01: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
Luis Ramos
c0ddeceb1e Remove Pin Payments 2021-02-06 11:15:48 +00:00
Andy Brett
5f1669280c update to rspec 3 expect syntax 2021-01-21 09:17:07 -08:00
Andy Brett
5c0408c68c pass paymentIntent ID to capture 2021-01-21 08:48:38 -08:00
Maikel
168958311a Merge pull request #6656 from Matt-Yorkley/payment-identifier
Fix payment identifier generation
2021-01-14 17:34:38 +11:00
Matt-Yorkley
18c9e16303 Fix payment identifier generation
Upstream fix from Spree 2.2.

See: 4e747187d7
2021-01-13 17:37:22 +00:00
Pau Perez
539c5d067a Update order payment_total when voiding a payment
As is, `payment_total` is only increased after successfully processing
a payment and never updated. This inconsistency breaks
`CustomerWithBalance` which relies on it.

Needless to say that if we keep this denormalized column, we better make
it consistent. I investigated current Spree's master branch (709e686cc0)
and they also realized it was broken. Now `Payment` runs the following
from the `after_save` `update_order` callback.

```rb
order.updater.update_payment_total if completed? || void?
```

I also took the chance to rearrange tests a bit.
2021-01-11 15:50:19 +01:00
Luis Ramos
2b8f0abe49 Try some mass auto-correct adding frozen-string-literal to all specs 2020-12-03 06:38:24 -08:00
Andy Brett
17202ff39c move gateway_error require to lib/spree/core.rb 2020-11-10 14:55:56 -08:00
Luis Ramos
e8138e8c23 Fix rubocop issues in models/payment_spec 2020-10-30 16:50:37 +00:00
Luis Ramos
4845cde20f Fix rubocop issue Layout/HashAlignment 2020-10-30 16:50:37 +00:00
Luis Ramos
a8265aff89 Fix rubocop issue Layout/FirstHashElementIndentation 2020-10-30 16:50:37 +00:00
Luis Ramos
06433b1be3 Fix rubocop issue Layout/ExtraSpacing 2020-10-30 16:50:37 +00:00
Luis Ramos
d4c52ce122 Fix rubocop issue Layout/EmptyLinesAroundBlockBody 2020-10-30 16:50:37 +00:00