Commit Graph

9963 Commits

Author SHA1 Message Date
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
8d7a11b0ac Make all steps of the algorithm have 2 branches 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
e04162415a Move code comment to be the method's doc 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
Maikel
9d48ea7b62 Merge pull request #2759 from luisramos0/del_old_spec_helper
Removed deprecated spec helper have_select2_option and fixed its last usage
2018-09-24 11:25:51 +10:00
Maikel
f0bb927020 Merge pull request #2734 from coopdevs/make-rubocop-useful
Get useful feedback from Rubocop Metrics cops
2018-09-23 19:48:05 +10:00
Maikel
89be54f79e Merge pull request #2750 from openfoodfoundation/transifex
Transifex
v1.20.0
2018-09-22 16:05:04 +10:00
Transifex-Openfoodnetwork
7175434910 Updating translations for config/locales/en_US.yml 2018-09-22 01:25:48 +10:00
Maikel
e2fd5a36d8 Merge pull request #2757 from luisramos0/delete_dead_specs
Deleted sample specs and one pending spec
2018-09-21 15:41:49 +10:00
luisramos0
33d2b65d65 Removed deprecated spec helper have_select2_option and fixed its last usage 2018-09-20 23:01:23 +01:00
luisramos0
2a68184c01 Deleted unused test helper for rabl views 2018-09-20 20:09:14 +01:00
Pau Pérez Fabregat
20077c99b5 Merge pull request #2618 from coopdevs/enable-style-send-cop
Favor #public_send over #send using Rubocop's cop
2018-09-20 19:03:40 +02:00
Pau Pérez Fabregat
3dd1fcbc72 Merge pull request #2749 from luisramos0/delete-li-ship-method-name
Drop unused db column line_items.shipping_method_name
2018-09-20 13:26:26 +02:00
Maikel Linke
5763bf0518 Update all translations 2018-09-20 10:33:02 +10:00
luisramos0
0e6b0aa248 Deleted sample specs and one pending spec 2018-09-19 23:45:00 +01:00
Pau Perez
0ac16ce096 Get useful feedback from Rubocop Metrics cops
One of the biggest pros of linters like Rubocop is to get valuable feedback to
help write better code. The way we have Rubocop configured now we don't prevent
new code from adhere improved code quality and this is specially important when
touching code that already suffers from complexity.

Without all Rubocop's Metrics cops enabled there's no way to get this insights
and write better code. This enables them while regenerating the
`.rubocop_todo.yml` to hide the current violations.

So, next time we touch existing code that we think could be simpler, we should
go to `.rubocop_todo.yml` and remove any occurrences of the file in question.
This way we could Rubocop's feedback right in the editor. This is tremendously
helpful when refactoring. It shows you where to start.
2018-09-19 19:27:40 +02:00
Pau Pérez Fabregat
62bebdb15e Merge pull request #2698 from openfoodfoundation/dependabot/bundler/uglifier-4.1.19
[Security] Bump uglifier from 2.7.1 to 4.1.19
2018-09-19 18:02:06 +02:00
Pau Perez
a2b3d8372e Reduce complexity of OrderUpdater decorator 2018-09-19 16:03:33 +02:00
Transifex-Openfoodnetwork
454cd8bfbf Updating translations for config/locales/nb.yml 2018-09-19 22:30:06 +10:00
HugsDaniel
c4d4b52668 Merge pull request #2742 from openfoodfoundation/transifex
Transifex
2018-09-19 14:18:03 +02:00
luisramos0
524f9af148 Drop unused db column line_items.shipping_method_name 2018-09-19 11:38:19 +01:00
Transifex-Openfoodnetwork
f0d015be0d Updating translations for config/locales/de_DE.yml 2018-09-19 08:34:42 +10:00
Transifex-Openfoodnetwork
258347bc63 Updating translations for config/locales/fr.yml 2018-09-19 01:45:12 +10:00
Pau Pérez Fabregat
9f7d24934d Merge pull request #2671 from kristinalim/translations-any_enterprise_in_oc_filters
Translate "Any Enterprise" and "Any Schedule" in OC filters
2018-09-18 11:42:19 +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
Maikel
19df4ff640 Merge pull request #2701 from mkllnk/2700-improve-product-refresh-scheduling
2700 improve product refresh scheduling
2018-09-18 12:09:24 +10:00
Pau Pérez Fabregat
0f627cdf39 Merge pull request #2661 from kristinalim/translations-copy_of_order_cycle
Translate "COPY OF" when cloning an OC
2018-09-17 12:38:29 +02:00
Pau Pérez Fabregat
0520f2187c Merge pull request #2540 from luisramos0/delete_dead_store
removed assets related to spree store: dead code
2018-09-17 11:33:56 +02:00
Kristina Lim
798a6ed391 Translate more text in OC filters 2018-09-17 10:09:17 +10:00
Maikel Linke
ac85b90315 Clarify private class method declaration 2018-09-15 10:18:54 +10:00
Maikel
ce7be68fac Merge pull request #2660 from kristinalim/translations-failed_oc_creation
Translate and fix fallback errors when creating or updating OC
2018-09-14 16:58:39 +10:00
dependabot[bot]
05225aaba7 [Security] Bump uglifier from 2.7.1 to 4.1.19
Bumps [uglifier](https://github.com/lautis/uglifier) from 2.7.1 to 4.1.19. **This update includes security fixes.**
- [Release notes](https://github.com/lautis/uglifier/releases)
- [Changelog](https://github.com/lautis/uglifier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/lautis/uglifier/compare/v2.7.1...v4.1.19)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-09-14 06:29:22 +00:00