Maikel Linke
b232fa3d0c
Deal with conflicting customer entries
2022-09-29 12:06:06 +02:00
Maikel Linke
f6ac02dce5
Update customer's email after user changed it
...
This may fail if there's already a customer record with the same email
address for the same enterprise. I will fix that in the next commit.
2022-09-29 12:06:06 +02:00
Maikel Linke
9dbba35019
Find customers by user id as well as email
...
Also fixing up a spec which became brittle due to too much mocking.
2022-09-29 12:06:06 +02:00
Maikel Linke
93da64f466
Spec for duplicate customers after changing email
2022-09-29 12:06:06 +02:00
Maikel Linke
ccbf20a73b
Replace spec of customer's internal logic
...
Specs should test public methods. Private methods should be able to
change without specs breaking.
The specs were also just mirroring the code and didn't really have any
meaning. So I wrote new ones which are hopefully clearer.
There's actually a case which I don't quite understand. Why don't we
require a customer for a new complete order? It means that we don't have
a customer creating it but then it's added when updating the order.
Seems inconsistent.
2022-09-29 12:06:06 +02:00
georgethoppil
03b24bfc38
Destroy all adjustments on cart empty
2022-05-17 20:21:47 -04:00
Maikel Linke
5e0c901790
Improve spec of sorted line items
...
The previous version wasn't actually testing the sorting option. There
was only one supplier and the items got sorted the same way in both
cases.
2022-04-12 10:45:40 +10:00
Nihal Mohammed
48613a4b42
Add test for sorted_line_items
2022-04-11 20:11:32 +05:30
Maikel Linke
d09ba16411
Associate customers again
...
And simplify the before_validation actions.
2022-02-16 10:23:23 +11:00
Maikel Linke
07314af3f6
Spec customer record association more realistically
...
The newly added specs were tested on the master branch and passed. But
the previous commit broke one test case which I marked as pending here.
The removed specs are completely replaced by the new ones. Their main
downside was to test only small bits of internal behaviour without
considering the whole callback chain of the order. The new specs are
more realistic and catch bugs like mentioned above.
2022-02-16 10:23:23 +11:00
François Turbelin
554a8625e5
Refactor ensure_customer method
2022-02-16 10:23:23 +11:00
Adrien Chauve
ba6523bb76
Add Customer.full_name
2022-02-16 10:23:22 +11:00
Matt-Yorkley
35392cb117
Remove Order#set_payment_amount!
2022-02-01 11:39:07 +00:00
GeorgeThoppil
b2e9106654
Linting/Trailing whitespace
2022-01-24 09:30:55 -05:00
George Thoppil
745758b7de
Update spec/models/spree/order_spec.rb
...
Co-authored-by: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com >
2022-01-24 09:06:09 -05:00
GeorgeThoppil
f1c4f80be4
Adding deleted_at check on variant_stock move
2022-01-23 13:45:54 -05: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
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
Andy Brett
069cb043ee
Merge pull request #8148 from jibees/5236-remove-incomplete-orders-from-admin-interface-2
...
Only shows order that actually have at least one line_item V2
2021-09-09 16:49:30 -07:00
Matt-Yorkley
2d2e0a5b24
Add unit test for not_empty scope
2021-09-08 12:18:08 +01:00
Jean-Baptiste Bellet
a1438f91e9
Display error on email (triggered by advance_order_state method)
2021-08-31 11:00:54 +02: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
Pau Pérez Fabregat
a8efbffca6
Merge pull request #7429 from Matt-Yorkley/adjustments-taxrate
...
[Adjustments] TaxRate changes
2021-06-17 11:51:01 +02:00
Maikel
6caae9e886
Merge pull request #7694 from coopdevs/split-confirm-order-job
...
Split ConfirmOrderJob to avoid blocking DJ worker
2021-06-09 14:11:10 +10:00
Matt-Yorkley
84a40e6ae0
Improve Order#enterpise_fee_tax
2021-06-06 20:16:03 +01:00
Matt-Yorkley
93e422ec59
Update order fee tax test setup
2021-06-06 20:16:03 +01:00
Matt-Yorkley
d5b20d5446
Add specs for Order#ensure_updated_shipments
2021-06-04 17:10:50 +01:00
Matt-Yorkley
42ff2307fa
Update specs that use removed #add_variant and #remove_variant methods in test setup
2021-06-04 17:10:50 +01:00
Matt-Yorkley
b25e7fcb89
Delete tests for removed Order #add_variant and #remove_variant methods
2021-06-04 17:10:50 +01:00
Matt-Yorkley
d99e598e7a
Delete dead code in CartController
...
The two conditionals in #populate_variant_attributes here are never actually true, so the subsequent code paths are never reached.
2021-06-04 17:10:50 +01:00
Pau Perez
74a8b3038a
Split ConfirmOrderJob to avoid blocking a worker
...
This unties this two email notifications so that they are picked up by
a DJ worker independently. This should avoid the blocking the worker experiences (remember we
still have a single one in all instances) when waiting between the two
deliveries. See the flamegraph:
https://app.datadoghq.com/apm/traces?end=1622015605459&paused=true&query=env%3Aproduction%20service%3Adelayed_job%20operation_name%3Adelayed_job%20resource_name%3AConfirmOrderJob%20%40duration%3A%3E%3D5s&start=1622009898303&streamTraces=true&trace=AQAAAXmngbg_woqc_QAAAABBWG1uZ2IwVkFBRHVDbWJkN25QTUVuY28&traceID=2916038355421570548&spanID=2005781139590273685 .
Overall, both operations may take longer but other jobs can be processed
in between. Also, if any of the two fails, the other won't be affected.
2021-06-01 11:43:00 +02: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
Andy Brett
231f01dad2
fix order adjustments spec
2021-05-09 10:09:22 -07:00
Pau Perez
002dabb80c
Improve spec
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
Andy Brett
aca19edd3b
Merge pull request #7421 from andrewpbrett/rails-5-2-prep-2
...
Prepare for Rails 5.2
2021-04-19 11:32:21 -07:00
Pau Perez
fd29030bf9
Doc through specs how customer creation works
2021-04-16 13:34:35 +02:00
Pau Perez
5087ca709a
Make method stick to Boolean instead of Nil
2021-04-16 13:23:56 +02:00
Pau Perez
e30ddf3f77
Test and simplify #require_customer?
2021-04-16 13:08:42 +02:00
Matt-Yorkley
fa14a80295
Adapt order payment creation in failing specs
...
In the test setups here order.payments is empty
2021-04-14 09:22:31 -07:00
Matt-Yorkley
15edb5b13b
Remove more uses of adjustment source association in tests
2021-04-14 12:01:21 +01:00
Matt-Yorkley
e323d016a2
Simplify arguments of #create_adjustment method
2021-04-14 12:01:21 +01:00
Matt-Yorkley
b6038c01a3
Remove references to Adjustment source
2021-04-14 12:01:21 +01: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
a902230106
Merge pull request #7316 from Matt-Yorkley/dead-code-shipments
...
DCOTW: #ensure_updated_shipments
2021-04-09 08:03:24 +02:00
jibees
ca36996060
Merge pull request #7314 from Matt-Yorkley/order-payment-amount
...
Rename #charge_shipping_and_payment_fees! to #set_payment_amount!
2021-04-08 21:22:56 +02:00
Matt-Yorkley
2ab9602ad7
Increase tested details in Order spec
2021-04-04 19:19:06 +01:00
Matt-Yorkley
93771aeb94
Update orders spec
2021-04-04 19:19:06 +01:00
Matt-Yorkley
889b357408
Update Order#total_tax
2021-04-04 19:19:06 +01:00