Commit Graph

101 Commits

Author SHA1 Message Date
Gaetan Craig-Riou
efcb442a80 Add spec to test notification is triggered 2025-12-10 10:28:11 +11:00
Gaetan Craig-Riou
a38023475c Trigger payment webhook when a payment status changes
It used ActiveSupport::Notifications and a listener :
StatusChangedListenerService to trigger the WebhookService
2025-12-10 10:28:11 +11:00
David Rodríguez
bdafc1ff02 Use supported RSpec syntax
This spec was using a very old syntax no longer supported by RSpec. It's
not currently influencing specs result because the spec running into
the error is currently set as "pending". However, the spec is still run
and the error is still visible.

Fixing the syntax does not fix the spec, but lets it get a bit further.
2025-10-13 16:05:59 +02:00
Ahmed Ejaz
ac06126f59 replace cvv_response_message usage with redirect_auth_url 2025-09-22 11:55:43 +05:00
Ahmed Ejaz
aecb5f49c9 fix spec as per current response we get for cvv_result 2025-09-22 11:54:20 +05:00
cyrillefr
09a6da0c57 Fixes rubocop offense inverse_of on payment model
- some clean up unused method too
2025-03-31 17:10:43 +02:00
Carlos Chitty
9c8e0899d1 Correct Style/CaseEquality rubocop offense 2025-03-26 11:16:20 -04:00
Joseph Johansen
5086f2d8b5 Fix rubocop Style/Send group 2024-07-23 14:18:26 +01:00
Maikel Linke
6317fe1b71 Disable RSpec monkey patching 2024-05-09 12:24:41 +10:00
Maikel Linke
bd6b0ddbf3 Enforce RSpec expect(..).not_to over to_not 2024-03-07 16:57:54 +11:00
David Cook
2107aeded1 Un-safely autocorrect RSpec/ExpectChange 2024-02-23 12:17:09 +11:00
Gaetan Craig-Riou
657f71c357 Further refactor payment specs
- remove any stub_request
- use intance_double of ActiveMerchant::Billing::Response
2024-02-19 10:58:31 +11:00
Gaetan Craig-Riou
8832f2fef6 Refactor #credit spec
Model spec shouldn't know about the undelying call to stripe. Replaced
request stubs by payment method stubs.
Consolidate #credit spec in one `describe` block
2024-02-19 10:58:31 +11:00
Filipe
ed8fd41bec Merge pull request #11290 from cyrillefr/Orders_in_confirmation_state_cannot_be_completed_by_hub_or_shop
Fix Orders in confirmation state cannot be completed by hub or shop
2023-11-16 19:50:14 +00:00
Neal Chambers
c3b4781a28 Safely autocorrect Style/RedundantConstantBase
Inspecting 1509 files
.........................................................................................................C.........................................C......................................................................................................................................................................................................................................................................................................................................................................................................................................................................C.......................................................................................................................................................................................................................................................................................................................................................................................................................C.........................................................................................................................................................................CCC........................................C......................................................................................C......................................................................................................................................................................................................

Offenses:

app/controllers/split_checkout_controller.rb:5:33: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
class SplitCheckoutController < ::BaseController
                                ^^
app/controllers/webhook_endpoints_controller.rb:3:36: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
class WebhookEndpointsController < ::BaseController
                                   ^^
config.ru:5:9: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
require ::File.expand_path('config/environment', __dir__)
        ^^
spec/helpers/checkout_helper_spec.rb:168:68: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
      let!(:tax_rate) { create(:tax_rate, amount: 0.1, calculator: ::Calculator::DefaultTax.new) }
                                                                   ^^
spec/models/spree/order_spec.rb:619:25: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
    let(:fee_handler) { ::OrderFeesHandler.new(subject) }
                        ^^
spec/models/spree/payment_method_spec.rb:150:51: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
                                      calculator: ::Calculator::FlatRate.new(preferred_amount: 10))
                                                  ^^
spec/models/spree/payment_method_spec.rb:154:54: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
                                         calculator: ::Calculator::FlatPercentItemTotal
                                                     ^^
spec/models/spree/payment_spec.rb:429:49: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
            create(:payment_method, calculator: ::Calculator::FlatRate.new(preferred_amount: 10))
                                                ^^
spec/models/spree/payment_spec.rb:1002:11: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
          ::Calculator::FlatPercentItemTotal.new(preferred_flat_percent: 10)
          ^^
spec/models/spree/payment_spec.rb:1039:28: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
        let(:calculator) { ::Calculator::FlatPercentItemTotal.new(preferred_flat_percent: 10) }
                           ^^
spec/queries/complete_visible_orders_spec.rb:12:31: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
    let(:order_permissions) { ::Permissions::Order.new(user, filter_canceled) }
                              ^^
spec/services/paypal_items_builder_spec.rb:34:37: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
                        calculator: ::Calculator::DefaultTax.new)
                                    ^^
spec/services/paypal_items_builder_spec.rb:38:37: C: [Corrected] Style/RedundantConstantBase: Remove redundant ::.
                        calculator: ::Calculator::DefaultTax.new)
                                    ^^

1509 files inspected, 13 offenses detected, 13 offenses corrected
2023-11-10 09:13:57 +09:00
Neal Chambers
af764bd38e Move payment_intent to Helper 2023-11-07 16:30:50 +09:00
Neal Chambers
6ba8c88ea7 Rewrite Specs to Use Paypal or Stripe Gateway instead of Bogus 2023-11-07 11:19:26 +09:00
cyrillefr
a764cc0f89 Specs for the new action complete after capture
- In admin dashboard, clicking on capture leads to a completed order
- Modifications of actual specs to take into account new action
2023-10-29 22:05:50 +01:00
Neal Chambers
fe88a88206 Fix Style/HashSyntax 2023-09-22 09:08:50 +09:00
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