Commit Graph

4177 Commits

Author SHA1 Message Date
Pau Pérez Fabregat
ce93c52dfe Merge pull request #2850 from Matt-Yorkley/password_change_logout
Password change logout
2018-10-24 11:43:09 +02:00
Pau Pérez Fabregat
9ef4852bd4 Merge pull request #2818 from nikobozi/refactor-variant-overrides-query
Move query from variant_overrides_controller to its model scope
2018-10-24 11:42:22 +02:00
Maikel Linke
9698fd3c5a Style spec 2018-10-18 11:07:16 +11:00
Maikel Linke
d197c8587f Test address deletion 2018-10-18 11:06:32 +11:00
Maikel Linke
e96cab957a Convert specs to RSpec 3.7.1 syntax with Transpec
This conversion is done by Transpec 3.3.0 with the following command:
    transpec spec/models/spree/addresses_spec.rb

* 13 conversions
    from: obj.should
      to: expect(obj).to

* 2 conversions
    from: it { should ... }
      to: it { is_expected.to ... }

* 1 conversion
    from: obj.should_not
      to: expect(obj).not_to

For more details: https://github.com/yujinakayama/transpec#supported-conversions
2018-10-18 10:52:46 +11:00
Maikel Linke
b109f6d78c Remove temporary reporting code 2018-10-16 14:48:12 +11:00
Pau Pérez Fabregat
f8bccda6ab Merge pull request #2847 from Matt-Yorkley/emails/validation
Emails/validation
2018-10-15 15:54:41 +02:00
Pau Pérez Fabregat
0e4a3dbc26 Merge pull request #2845 from coopdevs/fix-invalid-variant-creation
Fix invalid variant creation
2018-10-15 12:16:39 +02:00
Pau Pérez Fabregat
fe149967e4 Merge pull request #2521 from luisramos0/cookies_in_engine
[OFN Domains] Breaking OFN into domains - POC cookies inside an engine
2018-10-15 10:03:30 +02:00
Pau Perez
cbac916e66 Validate unit value when updating variant_unit
Variants whose product's variant_unit is weight or volume require
a unit_value.
2018-10-11 15:52:40 +02:00
Pau Perez
575d76e23e Cover variant creation and update with basic tests 2018-10-11 15:52:40 +02:00
Pau Perez
f54c69cbba Add first test case for ProductSet
This covers creation and update of a product.
2018-10-11 15:52:40 +02:00
Matt-Yorkley
4760ebb80c Use global config 2018-10-11 09:04:37 +01:00
Pau Pérez Fabregat
227dd3e399 Merge pull request #2831 from kristinalim/fix-product_import_date_error
Fix product import date error when some but not all variants have import date
2018-10-09 16:37:25 +02:00
Pau Pérez Fabregat
85962158b8 Merge pull request #2821 from nikobozi/oc-clear-filter
Make 'Clear All' button work on order cycle page
2018-10-09 16:35:57 +02:00
Matt-Yorkley
55411af3fa Improve user account spec 2018-10-09 10:07:41 +01:00
Matt-Yorkley
8f5fd41c8b Update email confirmation address 2018-10-08 21:38:47 +01:00
Matt-Yorkley
3ec8c12899 Update account setting spec for updating email address 2018-10-08 20:41:59 +01:00
Pau Pérez Fabregat
f5573f419b Merge pull request #2778 from coopdevs/refactor-entry-processor
Refactor entry processor
2018-10-08 17:11:23 +02:00
Kristina Lim
da904c908d Fix product import date when not all variants have it 2018-10-06 03:03:22 +08:00
Pau Pérez Fabregat
58a99a7f89 Merge pull request #2692 from Matt-Yorkley/bi/angular_orders
Angularise orders page
2018-10-04 21:10:48 +02:00
niko
f99ed81863 Make 'Clear All' button work on order cycle page 2018-10-04 11:46:38 +02:00
niko
3ae38178a3 Move query from variant_overrides_controller to its model scope 2018-10-04 02:43:02 +02:00
Pau Pérez Fabregat
aa78b9e54c Merge pull request #2777 from coopdevs/setup-simplecov
Setup simplecov
2018-10-02 14:39:43 +02: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
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
16badcd1b5 Setup Simplecov to have code coverage analysis
This enables code coverage analysis when running specs in your dev
environment. Simply run them as usual and you'll see a line like the
following at the end of the output:

  Coverage report generated for RSpec to /home/pau/dev/openfoodnetwork/coverage

Simply browse to coverage/index.html and the results in a web UI.

This is a useful tool that helps you decide if the tests you added are
enough or not.
2018-09-27 15:57:02 +02:00
Matt-Yorkley
54b17ac701 Use Spree::Order.pending_payments and remove service 2018-09-27 13:04:56 +01:00
Maikel Linke
9dcc683dc0 Notify Bugsnag on sign-up errors
This may lead to more error reports than we want to see. A not existing
email address may cause Bugsnag to be notified. If this happens, we can
rescue form these specific errors and only report the rest.
2018-09-27 13:33:09 +10:00