Pau Perez
75ad4254a6
Remove on_demand from Api::Admin::ProductSerializer
...
This change also moves the spec file to its appropriate place for the
sake of consistency and RSpec3-izes the test example.
2018-10-03 13:06:13 +02:00
luisramos0
c559cf0394
Fix Shipment adjustments specs on adjustment_spec by setting Config values before test objects are created
2018-10-02 16:17:26 +01:00
luisramos0
795441484d
Fix shipping adjustment basic test in adjustment_spec by removing extra shipping_method from test shipment
2018-10-02 16:15:00 +01:00
Pau Perez
6a7359a3c5
Pass supplier_ids in strategy #reset instead
...
This removes the need to expose supplier_ids through #<< and makes both
ResetAbsent and its strategies simpler.
This could be made even simpler if the strategies just implemented
`#relation` as public method and ResetAbsent called `#update_all` on
them. The data to be fetched is the only thing that changes but the
update is the same.
2018-10-01 17:37:49 +02:00
Pau Perez
82654cd1ee
Turn delegation to a reader to make it simpler
...
This makes the solution less smart and as a result ResetAbsent improves
it's consistency and returns always an integer.
2018-10-01 16:40:34 +02:00
Pau Perez
148321f7b7
Make strategies class names more explicit
2018-10-01 16:40:34 +02:00
Pau Perez
af93af1a64
Replace strategy with a more explicit name
2018-10-01 16:40:34 +02:00
Pau Perez
fd69c7672d
Add specs for ResetAbsent strategies
...
This also fixes the case where there are no overrides to exclude.
2018-10-01 13:12:06 +02:00
Pau Perez
5eb10edbfd
Inject #updated_ids to strategy
...
Their values are known beforehand.
2018-10-01 13:12:06 +02:00
Pau Perez
186801a1e2
Remove unused supplier_ids argument
2018-10-01 13:12:06 +02:00
Pau Perez
718f529ede
Use nested module in test to improve readability
2018-10-01 13:12:06 +02:00
Pau Perez
f04fa4ed63
Do not treat ResetAbsent as a decorator anymore
...
This fully encapsulates it's logic and reduces its tight coupling with
EntryProcessor.
2018-10-01 13:12:06 +02:00
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