Matt-Yorkley
e1393c96ca
Correctly void transactions when payments are cancelled due to stock issues
2021-07-27 23:24:00 +01:00
Matt-Yorkley
8e1631bfc7
Set adjustments associated with voided payments to ineligible.
...
Otherwise we can end up with duplicate transaction fees for voided payments.
2021-07-12 08:28:32 +01:00
Matt-Yorkley
e6d9545c30
Use :incomplete scope when voiding payments that can't be processed due to stock changes
2021-07-09 13:31:00 +01:00
Matt-Yorkley
a199f80ed4
Add test for insufficient stock behavior after Stripe redirect
2021-07-09 13:14:43 +01:00
Matt-Yorkley
2cd6b05aba
Use Order::Contents service in test setup
2021-07-09 13:14:43 +01:00
Pau Pérez Fabregat
db993652c4
Merge branch 'master' into payment-states
2021-06-18 12:20:26 +02:00
Andy Brett
d9aa1b054a
update payments to be in requires_authorization state in specs
2021-06-17 18:10:41 -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
Andy Brett
b3e08b47b9
set Stripe api key directly instead of using allow
2021-06-01 22:33:12 +01:00
Luis Ramos
a1ac4e85ed
Replace update_attributes with update
2021-05-19 09:54:25 -07:00
Luis Ramos
a2de86c23e
Replace be_success on test_reponse with status 200
...
In rails 6 response.success? is not supported.
2021-05-06 23:51:30 +01:00
Maikel Linke
1753156578
Spec customer creation during checkout
...
Expanding the controller spec with real data instead of mocks to test
the real callback behaviours.
2021-04-20 16:14:41 +10:00
Matt-Yorkley
be6fd23ebc
Fix unpersisted changes in checkout controller specs
...
The test setup left the object with unsaved changes, which doesn't work nicely with the new order locking added recently on the edit action.
Fixes ~5 specs including:
5) CheckoutController redirection to cart and stripe redirects when some items are out of stock
Failure/Error:
order.with_lock do
lock_variants_of(order)
yield
end
RuntimeError:
Locking a record with unpersisted changes is not supported. Use `save` to persist the changes, or `reload` to discard them explicitly.
# ./app/services/current_order_locker.rb:22:in `lock_order_and_variants'
# ./app/services/current_order_locker.rb:11:in `around'
# ./spec/controllers/checkout_controller_spec.rb:57:in `block (3 levels) in <top (required)>'
2021-04-13 16:54:31 -07:00
Maikel Linke
af5ac2a25e
Extend test coverage of CheckoutController
...
I'm covering the interaction with Stripe here to test for error cases in
the future.
2021-03-25 14:35:45 +11:00
Luis Ramos
b14646ff50
Fix rspec syntax in checkout controller
2021-03-23 21:48:52 +00:00
Luis Ramos
f3da7afd55
Replace spree_order_path with order_path so we can use scope in the routes file
2021-01-25 19:55:42 +00:00
Luis Ramos
6e7ee02191
Change spree.order_path to spree_order_path everywhere
2021-01-25 19:52:48 +00:00
Luis Ramos
2b8f0abe49
Try some mass auto-correct adding frozen-string-literal to all specs
2020-12-03 06:38:24 -08:00
Luis Ramos
b3196295e6
Fix Style/RaiseArgs
2020-10-30 16:50:37 +00:00
Luis Ramos
e739c5185e
Add specs to verify that Spree::Core::Gateway exceptions are handled correctly
2020-07-29 23:56:52 +01:00
Luis Ramos
ad00971ca8
Improve readability and add bugsnag error (now in the checkout_failed method) when checkout_fails while handling stripe redirect
2020-07-29 22:50:18 +01:00
Luis Ramos
2ad2836ac6
Merge pull request #5563 from luchiago/fix-missing-closed-oc-info-i18n
...
add missing i18n key for closed OC
2020-06-25 20:33:55 +01:00
Luis Ramos
91fc0cd26f
Adapt specs to new Ar method update that replaces update_attributes
2020-06-22 17:39:20 +01:00
Luis Ramos
3b91dd9dea
Use rubocop auto-correct to fix more issues
2020-06-22 12:51:47 +01:00
Lucas Hiago
419b3ef26e
add missing i18n key for check hub ready for checkout
2020-06-16 19:49:43 -03:00
Luis Ramos
35824c7aa1
Rename restartCheckout to order_checkout_restart to make it follow service naming convention
2020-05-15 19:29:37 +01:00
Luis Ramos
ba585064e1
Rename ResetOrderService to OrderCompletionReset to follow new service naming convention and also to make it more specific to completed orders
2020-05-15 19:29:37 +01:00
Luis Ramos
b898ce1ae1
Make checkout controller add flash error if order contains any type of error
...
Here we add translations for a particular case where the credit card expiry date is in the past
2020-04-01 12:03:39 +01:00
Luis Ramos
a224c53200
Add spec to test receiving a redirect from stripe with a valid payment intent id
2020-03-02 17:30:12 +00:00
Luis Ramos
66f07c0d1c
Make checkout controller spec test both extracted payment redirects
2020-03-02 17:30:12 +00:00
luisramos0
e3ffe8fe6b
Add Checkout Stripe redirect logic to get users redirected to stripe authentication pages provided by the stripe API
2020-03-02 17:30:12 +00:00
Maikel Linke
6763012ee9
Rescue unknown checkout errors
2020-01-23 16:20:07 +11:00
Maikel Linke
4288428c70
Separating concurrency spec as it's entirely different
2019-11-19 18:18:01 +11:00
Maikel Linke
dc122a9450
Fix infinite loop in spec
...
The spec was setting the order's state to "complete" but didn't save
that state to the database. The new locking mechanism is was reloading
the order which loaded the cart state again. And since the order.next
method was mocked to just return true, the controller was trying to do
that in an infinite loop.
2019-11-19 18:18:01 +11:00
Maikel Linke
ec1b5a7a92
Test concurrent checkouts
...
When two people tried to buy the same item at the same time, it was
possible to oversell the item and end up with negative stock.
Parallel checkouts could also lead to other random failures. This spec
is testing that scenario by starting two threads which would run into a
race condition unless they use effective synchronisation. The added spec
fails if the synchronisation is removed from the CheckoutController.
2019-11-19 18:18:01 +11:00
luisramos0
fb65c64c68
Keep the ship_address clearing logic (this time reusing the OrderUpdate method) thus making the restart_checkout process work for these cases (because order.ship_address is not empty)
...
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
2019-09-09 22:05:20 +01:00
luisramos0
02b9fca620
Remove unused spree checkout and spree cart routes
2019-06-18 10:49:19 +01:00
luisramos0
86b0d71c7e
Result of rubocop auto-correct and rebuilding rubocop_manual_todo
2019-05-28 12:57:29 +01:00
luisramos0
6996353d05
Run transpec for spec/controllers
2019-05-10 01:20:40 +01:00
luisramos0
e8ccb55f47
Use rspec 3 syntax in order_cycle_distributed_variants_spec and checkout_controller_spec
2019-04-15 12:39:52 +01:00
luisramos0
d602375ac7
Redirect user to cart page if some item in the order is unavailable
2019-04-13 20:31:05 +01:00
luisramos0
6fc3562a73
Merge branch 'master' into 2-0-stable-dec-18th
2018-12-18 23:32:45 +00:00
luisramos0
afd243c548
Replace stub with allow in checkout_controller_spec
2018-12-05 15:40:14 +00:00
luisramos0
258287b88d
Add tests to cover CheckoutController#update with shipping_method_id
2018-11-30 17:04:46 +00:00
Pau Perez
23421758fa
Fix checkout spec due to shipments
2018-11-23 12:28:31 +01:00
Pau Perez
453b2a99de
Rename redundant #restart_checkout to #call
2018-11-23 12:05:39 +01:00
Pau Perez
3b681a59ba
Move controller tests to service class tests
2018-11-23 12:04:42 +01:00
Pau Perez
a62a2cb52f
Extract #restart_checkout to a service
2018-11-23 12:04:42 +01:00
Pau Perez
daf12d1300
Revert "Refactor Order#current_order argument"
...
This reverts commit ae935202be .
2018-06-05 18:42:41 +02:00
Pau Perez
89c2733f50
Revert "Removing redundant curly braces"
...
This reverts commit 03173d4f7b .
2018-06-05 18:42:31 +02:00