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
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
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
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
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
Kristina Lim
9c3bb863da
Add endpoints for removing enterprise images
2018-09-04 01:32:39 +08: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
Matt-Yorkley
8c2a49a57c
Update PI model spec
2018-08-27 23:08:19 +01:00
Matt-Yorkley
666fbf53bf
Validate enterprise.is_primary_producer?
2018-08-24 15:51:37 +10:00
Maikel
a37931afda
Merge pull request #2542 from luisramos0/add_to_cart
...
Extract OrderController.populate to new CartController and OrderPopulator to new CartService
2018-08-24 14:43:33 +10:00
Maikel
bf55190136
Merge pull request #2546 from Matt-Yorkley/pi/sku_validation
...
Remove empty SKU values if empty
2018-08-24 14:32:00 +10:00
luisramos0
910297572e
Removed unnecessary currency from CartService constructor, using order.currency instead
2018-08-23 12:40:18 +01:00
luisramos0
05bfc098ff
/controllers/spree/order_populator_decorator (with a class_eval) is now /services/CartService with no dependency to Spree::OrderPopulator.
2018-08-23 12:39:55 +01:00
Matt-Yorkley
28b1fc076a
Remove empty SKU values if empty
2018-08-16 14:29:50 +01:00
luisramos0
0b9061df28
removed Cart route, controller, model and specs: dead code
2018-08-11 22:17:12 +01:00
Matt-Yorkley
67767f86eb
Change import and reset logic to work with first page
2018-07-23 02:07:00 +01:00
Matt-Yorkley
bd200c885b
Move options to first page
2018-07-23 01:46:32 +01:00
Pau Pérez Fabregat
4f215da735
Merge pull request #2467 from mkllnk/ci-output-test
...
Use progress formatter on Travis to avoid timeout
2018-07-18 19:19:40 +02:00
Pau Pérez Fabregat
fac8e26d8b
Merge pull request #2475 from Matt-Yorkley/pi/landing_page
...
PI: landing page
2018-07-18 16:47:17 +02:00
Matt-Yorkley
c7deae4253
Remove category field from inventory specs
2018-07-18 12:59:19 +01:00
Pau Pérez Fabregat
7bf27ec6b3
Merge pull request #2409 from mkllnk/2013-remove-scope-active_distributors
...
2013 Remove dead code for Spree upgrade
2018-07-18 10:38:19 +02:00
Maikel Linke
622517501c
Make spec robust on slow computers
...
This spec just failed in an unrelated pull request.
https://travis-ci.org/openfoodfoundation/openfoodnetwork/jobs/403435522
This change should fix it even on very slow computers.
2018-07-13 19:10:06 +10:00
Rob Harrington
4863f2b5b4
Remove unrequired credit_card_id field from subscriptions table
2018-07-05 19:26:12 +10:00
Rob Harrington
fc2844a3d5
Add default_card method to user model
2018-07-05 19:26:11 +10:00
Frank West
09534b41e9
Remove taxon when primary taxon is changed
...
We are adding taxons to the product as you change the primary taxon.
However we never remove the previous primary taxon so it forces the user
to update the taxons manually. This can be a big problem if you are bulk
updating products.
We now remove the taxon that matches the previously set primary taxon.
2018-07-04 09:16:50 +10:00
Rob Harrington
2da6234362
Add spec for StripeGateway#refund
2018-07-03 14:21:58 +10:00
Maikel Linke
306bfa1944
Remove unused method enterprise method
...
`Enterprise.has_supplied_products_on_hand?` is not used anywhere.
2018-06-27 11:25:44 +10:00