Commit Graph

603 Commits

Author SHA1 Message Date
luisramos0
a36722cebf Merge branch '2-0-stable' into 2-0-remove-variant-count-on-hand 2019-02-26 12:47:11 +00:00
luisramos0
36e2786a1e Delete Accounts and Billing dead feature code 2019-02-25 14:37:16 +00:00
Pau Pérez Fabregat
aed9c41b0d Merge pull request #3394 from mkllnk/3021-update-soft-delete
[Spree upgrade] 3021 update soft delete
2019-02-25 11:58:41 +01:00
luisramos0
5d51ad71b0 Merge branch 'master' into 2-0-stable-Feb20 2019-02-20 14:32:36 +00:00
Maikel Linke
99f0be2f1c Remove unnecessary scope Variant.not_deleted
Spree made that scope default so that we don't need to define or call
it. There might be cases in which we were showing deleted variants and
now we are not, but I have not idea how to find them.

Related Spree commit:
- cd3add960e
2019-02-19 14:25:18 +11:00
Maikel Linke
cdb49f88b0 Move Variant deletion into its own service
This keeps the override of Spree's model leaner. More importantly, it
prepares us for using `destroy` instead of `delete`.

In the past, `Product#delete` soft-deleted the product, but didn't
delete the variants. When we use `Product#destroy` to soft-delete the
product, it will also call destroy on the variants. If the model doesn't
allow the deletion of the last variant, it will fail. So when a product
is deleted we want to allow the deletion of all variants. But the user
should not be allowed to delete the last variant. That's why I'm moving
the check to the controller level.

Related commits:

- e6c7acdff3
- 2b47c9145a
- b9f19d5777 (diff-412c5af2ec1ba9f6643f6df5a673c1d4R105)
2019-02-19 14:25:18 +11:00
Maikel Linke
5d828bd7ae Update soft-delete of products
Spree changed their way of soft-deleting products, variants and
some other models. `#destroy` is now soft-deleting and replaces
`#delete`.

This commit considers only products. Variants will follow in another
commit. The other models can be ignored, because we don't call `delete`
on them.
2019-02-19 14:25:18 +11:00
luisramos0
f0842fcbe5 Convert all calls to variant.count_on_hand to variant.on_hand 2019-02-18 21:54:07 +00:00
Pau Perez
e5dadd1ab1 Merge branch '2-0-stable' into 2-0-admin-capture-payment
* 2-0-stable: (121 commits)
  Stub default value for other calls to File.exist?
  Add specs for error cases in shipments_controller_spec
  Move features/admin/reports/enterprise_fee_summaries_spec to xdescribe (will be fixed as part of spree upgrade phase 2)
  Add missing translation to fix shipping methods spec
  Test tagging polymorphism on a payment method
  Workaround Rails inheritance bug in Spree::Gateway
  Improve method names in shipments_controller_spec
  Move ProductImporter spec to xdescribe until all its specs are green (spree upgrade phase 2)
  Make bulk invoices part of spree upgrade phase 2
  Make Api::ShipmentsController#create re-use order.shipment if it exists Improve code and add specs to this controller
  Decorate spree api shipments controller to scope variants as they are added/removed from shipments
  Delete all Spree::Admin::LineItemsController customizations as they are no longer used
  Update spec/controllers/spree/orders_controller_spec.rb
  Fix broken spec from refactored method
  Wait for button to disappear before checking flash
  Use flash matcher in shipping method feature specs
  Add RSpec matchers for flash messages
  Do not expect modal open when checking spinner gone
  Fix layout violation in Spree::Ability decorator
  Fix description for feature flag example groups
  ...
2019-02-14 17:41:54 +01:00
Pau Perez
caf4441fa3 Do not mutate config's state in specs 2019-02-14 17:01:43 +01:00
Pau Perez
e9173f440f Associate shipment to appropriate order in specs 2019-02-14 17:01:43 +01:00
Pau Pérez Fabregat
fce92090db Merge pull request #3479 from luisramos0/2-0-stable-Feb12
[Spree Upgrade] Merging master into 2-0-stable (2nd run in Feb2019)
2019-02-14 09:40:28 +01:00
Maikel Linke
5f5b0aaabf Simplify specs with stripe factory 2019-02-13 18:34:22 +11:00
Maikel Linke
3b9fdfa7ac Test tagging polymorphism on a payment method 2019-02-13 16:31:38 +11:00
Maikel Linke
9044bf60b9 Workaround Rails inheritance bug in Spree::Gateway
Due to a bug in ActiveRecord we need to load the tagging code in Gateway which
should have inherited it from its parent PaymentMethod.
We have to call it before loading the PaymentMethod decorator because the
tagging code won't load twice within the inheritance chain.

https://github.com/openfoodfoundation/openfoodnetwork/issues/3121
2019-02-13 14:47:44 +11:00
luisramos0
c652cfe4d5 Merge branch 'master' into 2-0-stable-Feb12 2019-02-12 16:03:33 +00:00
Kristina Lim
461b5725d1 Hide report link and resource from non-superadmins 2019-02-08 21:26:38 +00:00
Kristina Lim
5fce9d0a7d Add multi-distributor scope to shipping and payment methods 2019-02-08 21:26:37 +00:00
luisramos0
729feb16f1 Merge branch 'master' into 2-0-stable-jan-29th 2019-01-29 12:38:34 +00:00
Maikel
937aaf67c3 Merge pull request #3250 from coopdevs/open-adjustments-for-update
[Spree Upgrade] Open adjustments to enable update
2019-01-24 10:25:16 +11:00
Kristina Lim
cf7f8b887f Add tests for permissions for variant overrides 2019-01-24 07:08:54 +11:00
Pau Pérez Fabregat
2b95b5e797 Merge pull request #3347 from luisramos0/2-0-default-on-demand
[Spree Upgrade] Sets StockLocation.backorderable_default to false in test factories
2019-01-21 17:34:46 +01:00
Pau Perez
a99a4725c9 Add #shipment to conform to OFN's decision
This ensures we can still use Order#shipment although Spree deprecates
it, while fixing a bug at the same time. The problem that was making the
test fail was on `Order#shipment` that Spree defines.

If the shipments association changes, `#shipment` returns stale data.
That is because the order object we might be using is still alive, and
so its @shipment ivar still holds an old shipment object (it's not nil)
and thus `@shipment ||= shipments.last` doesn't evaluate the right-hand
side of the expression.

Note that we need to `prepend` the evaluation of the concern (which it's
been rename) for our methods to take precedence over Spree ones. With
`include`, Spree's `#shipment` would still be picked up making the test
fail.
2019-01-18 16:02:51 +01:00
luisramos0
1d60732581 Improve readability of payment_method_spec 2019-01-17 20:18:43 +00:00
luisramos0
b52c99ac26 Delete on_hand test in product spec, this is already covered in product_stock_spec 2019-01-17 20:18:43 +00:00
Pau Perez
1e03835391 Update order while adjustments are open
Spree supports updating line items as the model contains these two
callbacks:

f55722b38d/core/app/models/spree/line_item.rb (L27-L28)

However, as
f55722b38d/core/app/models/spree/adjustment.rb (L1-L7)
clearly states, due to Adjustment's state machine, once the order is
finalized it can't be updated. Then, if we want to have an up-to-date
adjustment_total attribute for a complete order we must update it while
the adjustments are open. Otherwise, the following `immutable?` check
does not pass.

f55722b38d/core/app/models/spree/adjustment.rb (L84-L92)
2019-01-16 15:28:54 +01:00
luisramos0
9ab99f13c4 Merge branch 'master' into 2-0-stable-jan-11th 2019-01-11 11:58:24 +00:00
Maikel
4920782742 Merge pull request #3072 from luisramos0/2-0-calc-line-items-for-take-2
Fix bug on calculator_decorator line_items_for where input is line_item with a nil order
2019-01-11 14:49:25 +11:00
luisramos0
4f79fd5be0 Improve availability validator spec readability and remove unnecessary expect statements 2018-12-21 11:19:12 +00:00
luisramos0
c1aeb2e9a3 Improve naming in availability_validator_decorator and cover it with tests 2018-12-20 14:26:34 +00:00
luisramos0
3085e15961 Fix order factory by making line_item.skip_stock_check work in spree 2 2018-12-20 14:26:34 +00:00
Maikel Linke
a341561446 Move tax rate finding into service and spec it
The `#tax_rates` method is actually not present in Spree. We encapsulate
the logic in this commit and enable better unit testing. The new tests
cover a current bug: https://github.com/openfoodfoundation/openfoodnetwork/issues/3127
2018-12-19 14:31:29 +11:00
luisramos0
38ff99717a Fix bug on calculator_decorator line_items_for where input is line_item with an nil order. Adapted line_items_for so that weight_calculator.line_items_for could be removed. 2018-12-09 19:37:11 +00:00
luisramos0
7ecce51b8b Create default stock location and set required product.shipping_category in specs that create products 2018-12-08 14:52:50 +00:00
Pau Perez
7834b1d3f3 Fix test case for invalid product master 2018-11-28 17:39:59 +01:00
luisramos0
d28f47046a Fix product model spec by removing unnecessary on_hand setter and adding required fields for a new product 2018-11-22 20:38:58 +00:00
Maikel
6835d24fbf Merge pull request #3004 from luisramos0/2-0-mail-method-fix
[Spree Upgrade] Fix line Item specs with problems related to VariantStock.on_hand=
2018-11-20 16:37:19 +11:00
luisramos0
bf32a21155 Allow adapted on_hand attr to be mass assigned in VariantStock.
Without specifying it in `attr_accessible`, `#assign_attributes` won't
work. See details in
https://apidock.com/rails/v3.2.13/ActiveRecord/Persistence/update_attributes
and https://apidock.com/rails/ActiveRecord/Base/assign_attributes.
2018-11-19 10:05:17 +00:00
luisramos0
ee8d77bc09 Fix order spec restart checkout test by adding a required line_item to the order being tested 2018-11-17 11:57:16 +00:00
luisramos0
688ec5fb21 Fix rubocop issues in calculator_decorator and calculator/flat_percent_item_total_spec 2018-11-14 23:04:38 +00:00
luisramos0
7c0627a823 Improve failed_checkout_spec by making calculator decorator line_items_for work with new Stock::Package 2018-11-14 23:04:38 +00:00
luisramos0
fcdb5cd7af Merge branch 'master' into 2-0-stable-nov-8th 2018-11-08 11:18:54 +00:00
Pau Pérez Fabregat
50a06d1bd9 Merge pull request #2969 from luisramos0/2897-2-0-price-fix
[Spree Upgrade] Fix specs creating deleted variants
2018-11-05 11:59:06 +01:00
luisramos0
4f992a18f7 Fix specs creating deleted variants
Spree checks that each price belongs to a variant
Since we were creating deleted variants, the price models couldnt see those
2018-11-05 10:43:10 +00:00
Pau Pérez Fabregat
fe8303cb19 Merge pull request #2957 from luisramos0/2-0-paypal-spec
[Spree Upgrade] Fix occurrences of order.shipping_method= by replacing with order.shipments
2018-11-02 15:50:59 +01:00
Pau Pérez Fabregat
ad743a03ac Merge pull request #2888 from luisramos0/backorders-line-items
[Spree Upgrade] Replace allow_backorders with variant.on_demand in the line_item_decorator
2018-11-02 15:45:25 +01:00
Pau Pérez Fabregat
a910fc50f5 Merge pull request #2926 from luisramos0/2-0-stable-oct-25
[Spree Upgrade] Merging master into 2-0-stable (second run in October2018)
2018-11-02 15:37:34 +01:00
luisramos0
8a034a1538 Fix occurrences of order.shipping_method= by replacing with order.shipments= 2018-10-30 13:37:45 +00:00
luisramos0
b16ed86b2d Fix shipping_method basic test. Adapt to spree 2 that needs shipping_categories to be set and sets them on the base factory in a after_create block, the build command was not picking it up 2018-10-27 20:34:25 +01:00
luisramos0
90d7b7f4a0 Merge branch 'master' into 2-0-stable-oct-25 2018-10-25 14:28:58 +01:00