Commit Graph

1256 Commits

Author SHA1 Message Date
Pau Perez
95ae18a1ba Remove method delegation 2018-10-01 13:12:06 +02:00
Pau Perez
54d6bc5443 Don't use importing_into_inventory? in ResetAbsent
This completely decouples ResetAbsent from the particular strategy used.
2018-10-01 13:12:06 +02:00
Pau Perez
a10e58e20a Inject strategy_factory into ResetAbsent 2018-10-01 13:12:06 +02:00
Pau Perez
a9444b8909 Extract InventoryReset and Products strategies
Extract this strategy classes from ResetAbsent and move #reset there.
2018-10-01 13:12:06 +02:00
Pau Perez
23471346b6 Do not call ResetAbsent when preconditions not met 2018-10-01 13:12:06 +02:00
Pau Perez
a409353d37 Move import_settings query methods to Settings 2018-10-01 13:12:06 +02:00
Pau Perez
fd84bea463 Test that variants or overrides are actually reset 2018-10-01 13:12:06 +02:00
Pau Perez
b940f06238 Return early if reset_all_absent is not set
No need to go through half of the algorithm if the setting is not
enabled. It does not change per enterprise.

This also assumes "Previously we were updating both (products and inventory)
at the same time during one import, but now it's one or the other" in
Matt's words.
2018-10-01 13:12:06 +02:00
Pau Perez
c955e151b7 Pass enterprise ids as strs as current code does 2018-10-01 13:12:06 +02:00
Pau Perez
5ac3598550 Inject Settings object in ResetAbsent 2018-10-01 13:12:06 +02:00
Pau Perez
b5766a2dd9 Extract common conditional clauses
This also turns local vars into ivars so that the behaviour can be
thoroughly tested. These ivars are meant to be removed once this class
is refactored further. Now there's no other way to ensure its state.
2018-10-01 13:12:06 +02:00
Pau Perez
ed073e9750 Rely on Settings and don't access internal struct. 2018-10-01 13:12:06 +02:00
luisramos0
7dfce6c368 Making product import and product importer specs pending, 17 tests to be fixed in issue #2791 2018-09-30 00:21:43 +01:00
Pau Perez
663db47433 Move products_reset_count to ResetAbsent 2018-09-29 10:57:23 +02:00
Pau Perez
3150741849 Extract ResetAbsent class from EntryProcessor 2018-09-29 10:57:18 +02:00
Luis Ramos
f0183cd17e Merge pull request #2762 from luisramos0/2-0-order-model-spec
[Spree Upgrade] Fixed updates of order.shipping_method_id and improved order, stock_location and shipment factories
2018-09-27 13:43:58 +01:00
Maikel Linke
600c8fcd4c Send confirmation emails immediately
Using deferred methods on the user model breaks delayed jobs when the
user is deleted while the job still exists. We could create a proper job
referencing a user id for sending these emails instead. But since the
user has to wait for the confirmation email anyway, we can send it
within the current request. This should be revised if performance
becomes an issue.

Sending the email directly also has the advantage that we can tell the
user if emailing failed. See the following commits.

This change impacts a bunch of specs as we now need a working email
setup to create unconfirmed users. This commit introduces a custom
matcher to unify testing for confirmation emails.
2018-09-27 13:33:08 +10:00
Maikel
51f9a0afa1 Merge pull request #2562 from Matt-Yorkley/pi/product_attributes
[Product Import] Product attributes
2018-09-25 11:36:03 +10:00
Pau Perez
eb64569c9a Destroy all shipments when clearing order
Now we only clear the order's shipping_method, and in Spree 2.0 it can
have many shipments.
2018-09-24 15:25:33 +01:00
luisramos0
4476b88044 Fixed shipping_method update in models/spree/order_spec, order.shipment is now updated instead of order.shipping_method_id 2018-09-24 15:13:36 +01:00
Luis Ramos
0eb2854f8a Merge pull request #2680 from luisramos0/2-0-stable-x
[Spree Upgrade] Fixed inexistent order#shipping_method= in several specs
2018-09-24 15:07:04 +01:00
Pau Perez
f743b5f02f Extract Settings from Product Import processor
This encapsulates the data structure used by the entry processor to
check various settings. It still requires a lot of work to move more
logic to this new class.
2018-09-24 13:55:33 +02:00
Pau Pérez Fabregat
b8417058b4 Merge pull request #2741 from coopdevs/refactor-checkout-process-bits
Refactor checkout process bits
2018-09-24 12:08:19 +02:00
luisramos0
0e6b0aa248 Deleted sample specs and one pending spec 2018-09-19 23:45:00 +01:00
Matt-Yorkley
fc68e28e4d Add :description to non-updatable attributes list 2018-09-19 22:30:10 +01:00
Matt-Yorkley
b57c6cf9ac Add errors when attempting to update non-updatable fields 2018-09-19 21:12:29 +01:00
Pau Pérez Fabregat
99ba9d7d1b Merge branch '2-0-stable' into unit-test-variant-stock 2018-09-19 15:41:21 +02:00
Pau Perez
314ad5400f Move variant_stock.rb to concerns/ 2018-09-18 12:18:50 +02:00
Pau Perez
2a0e0eed73 Move state_machine's additions inside class_eval
And also cover them with tests.
2018-09-18 11:20:32 +02:00
Pau Perez
1fdc578901 Increase readability (a bit) of OrderUpdater 2018-09-18 11:20:32 +02:00
Pau Perez
99cdeca0b1 Remove useless RSpec context block 2018-09-18 11:20:32 +02:00
Pau Perez
13f73b4512 Test :restart_checkout state machine event 2018-09-18 11:20:32 +02:00
luisramos0
c66b611b99 Fixed setting shipping_method in the order through order.shipments in proxy_order_spec, lib/open_food_network/customers_report_spec and features/admin/shipping_methods_spec 2018-09-17 00:51:01 +01:00
luisramos0
fbd2d96b05 Moved shipment and shipping_method factories with flat rate and shipping fees to traits 2018-09-17 00:51:01 +01:00
Maikel
beedd933e9 Merge pull request #2512 from kristinalim/feature-remove_enterprise_images
Support removal of enterprise logo and promo image
2018-09-14 15:07:24 +10:00
Pau Perez
ce148e0197 Fix failing spec due to wrong attribute 2018-09-12 18:19:08 +02:00
luisramos0
3577f3790d Moved order.shipping_method to the OrderShippingMethod concern 2018-09-11 00:24:35 +01:00
Pau Pérez Fabregat
a906ad15bd Merge pull request #2670 from luisramos0/2-0-ship-method-adjustment-spec
[Spree 2 Upgrade] Fix issues related to shipments in adjustment_spec
2018-09-10 11:32:54 +02:00
Pau Pérez Fabregat
5a11af9118 Merge pull request #2668 from luisramos0/2-0-ship-method-order-spec
[Spree 2 Upgrade] Fixed models/order_spec issues related to order.shipping_method
2018-09-10 11:18:10 +02:00
Maikel
bce2c1cfd5 Merge pull request #2588 from luisramos0/spree2_mail_method_specs
Spree 2 Upgrade - MailMethod - Fix "undefined mail method" error in specs
2018-09-10 11:28:34 +10:00
luisramos0
2f1616a286 Changed reference from order.shipping_method to order.shipments in adjustment_spec 2018-09-09 23:32:59 +01:00
luisramos0
5bcc49a61c Removed calls to the now inexistent order.create_shipment! from specs 2018-09-09 23:16:19 +01:00
luisramos0
73512d3591 Replaced order.shipping_method with order.shipments in models.order_spec.
Fixed factory completed_order_with_fees used in order_spec and also in line_items_controller_spec and orders_controller_spec.
2018-09-09 23:13:32 +01:00
luisramos0
afedbe45ab Fixed scenario "guest order with registered email" in order_spec
Spree order factory requires user (we are setting it to nil below so, no impact on the test)
Defining shipping method is not necessary for this test
2018-09-09 23:13:32 +01:00
luisramos0
d6cff9bc68 Removed calls to the now inexistent order.create_shipment! from specs 2018-09-09 23:13:27 +01:00
luisramos0
89d51d75ae Merge branch 'master' into 2-0-stable-sept 2018-09-04 17:43:20 +01:00
Kristina Lim
9c3bb863da Add endpoints for removing enterprise images 2018-09-04 01:32:39 +08:00
Maikel Linke
cebcdea40c Replace obsolete count_on_hand call for variant
The variant factory supports only `on_hand` now.
2018-08-30 13:55:12 +10:00
Matt-Yorkley
8de0355dc7 Add spec for multiple stages during import 2018-08-28 14:05:57 +01:00
Matt-Yorkley
f905284f7a Add spec for edge case 2018-08-28 12:45:04 +01:00