Commit Graph

138 Commits

Author SHA1 Message Date
Matt-Yorkley
c038b485b1 Rename service and methods to remove use of "shop" term 2019-10-01 14:43:47 +01:00
Matt-Yorkley
032741c54f Refactor ProductsRenderer variants queries
This removes another N+1 and allows pagination applied to the inital query to also affect the returned variants
2019-09-29 17:41:58 +01:00
Matt-Yorkley
d5e90c3c6c Extract #load_products logic into a new service 2019-09-29 00:10:47 +01:00
Matt-Yorkley
cecebb82f4 Move distributed products relation out from OrderCycleDistributedProducts 2019-09-27 17:25:50 +01:00
Luis Ramos
746c4f03f6 Merge pull request #4261 from jasonk357/3979-malformed-referer-error
Guard against malformed request referer
2019-09-19 17:29:18 +01:00
JASON KNOEPFLER
91a52ead58 Guard against malformed request referer 2019-09-14 09:13:44 -07:00
luisramos0
c4d5eec7fd Covering restart_checkout code with more tests to clarify behaviour with different order.ship_address objects
The edge case here is when ship_address is present but empty, on the checkout_controller we are going to move from using an empty ship_address to using a non-empty one. We keep the original case where this spec was testing with a nil order.ship_address
2019-09-09 17:48:04 +01:00
luisramos0
3b467dbae8 Adapt line_item_syncer to the case where item is not added to the completed order because of insufficient stock and the subscription quantity is updated for that item afterwards 2019-07-16 12:08:08 +01:00
luisramos0
306390440a Revert "Swith line_item_syncer.create_new_items from deleting line item in the case of stock issue, to simply set the quantity to zero. This makes things easier later as the line item is already present if the user tries to change quantity of the subscription_line_item"
This reverts commit d153e58933.
2019-07-16 11:00:21 +01:00
luisramos0
267131626e Fix typo and add test case to cover out of stock case 2019-07-16 10:58:25 +01:00
luisramos0
02099ebdae Remove details about stock in line_item_syncer so that we avoid confusing the user with stock numbers, this way the user will know what is the problem and can check stock levels and the order for more details 2019-07-14 21:40:57 +01:00
luisramos0
d153e58933 Swith line_item_syncer.create_new_items from deleting line item in the case of stock issue, to simply set the quantity to zero. This makes things easier later as the line item is already present if the user tries to change quantity of the subscription_line_item 2019-07-14 20:59:42 +01:00
luisramos0
2a1011921b Reuse line_item_syncer.add_order_update_issue in line_item_syncer.update_item_quantities to add stock info to the update_quantity order issues 2019-07-14 16:43:46 +01:00
luisramos0
c2851015ce Fix deleting created item (destroy doesnt work before save) and add order_update_issue with message so that user can understand what happened 2019-07-14 15:58:00 +01:00
luisramos0
6aed9ba549 Make line_item_syncer delete new line items if stock is insufficient 2019-07-13 22:57:13 +01:00
luisramos0
4f2bc33ec3 Change line_item_syncer to verify stock if order is already complete, this will happen for orders in the current OC when a subscription is changed 2019-07-13 20:56:34 +01:00
luisramos0
2b6e6c62dd Simplify order_factory_spec by extracting copy pasted code to method 2019-06-25 14:50:03 +01:00
luisramos0
05a15d9441 Extract method to remove some copy pasted code in order_factory_spec 2019-06-25 14:50:03 +01:00
luisramos0
7bd32d4967 Fix usage of variant.on_hand in subscriptions order factory, we now take on_demand into account
This fixes a problem introduced in 12eab1bfa9 (diff-c3c4192f302cc77e9a8547012fe86ddb), since then variant.on_hand does not return infinity if variant is on_demand
2019-06-25 14:47:47 +01:00
Kristina Lim
99f163d294 Make code style changes for spec file 2019-05-28 21:32:25 +08:00
Kristina Lim
ea8d189d6c Bulk update OC variant changes in OC form 2019-05-28 21:27:43 +08:00
luisramos0
86b0d71c7e Result of rubocop auto-correct and rebuilding rubocop_manual_todo 2019-05-28 12:57:29 +01:00
Luis Ramos
4afa0cdca1 Merge pull request #3589 from kristinalim/fix/2788-ship_address_changed
2788 [Subscriptions] Fix address issues when syncing subscriptions and orders
2019-05-03 23:48:32 +01:00
Luis Ramos
3b2e614c57 Merge pull request #3734 from luisramos0/2-0-validate-distribution
Removing a variant from OC will prevent user with that variant in the cart from checking out
2019-05-02 16:12:41 +01:00
Kristina Lim
b4b24931d9 Remove ignore for OrderSyncer spec file 2019-05-01 07:16:55 +08:00
Kristina Lim
78aa9da2cf Uncomment and update OrderSyncer failing specs
This still achieves a logic issue before the Spree upgrade, where
switching from pick-up to delivery affects whether simultaneous changes
to shipping address are ignored or not.

This behaviour can be fixed in a separate PR.
2019-05-01 07:16:54 +08:00
Maikel Linke
278190a25c Update specs for Spree v2 payment requirement
This pull request removed the override of `process_payments!` which was based on v1. Spree v2 has an additional check: An order in payment state requires a payment. Some specs didn't care and didn't create payments before transitioning to `complete`.
2019-04-16 10:30:14 +10:00
luisramos0
e8ccb55f47 Use rspec 3 syntax in order_cycle_distributed_variants_spec and checkout_controller_spec 2019-04-15 12:39:52 +01:00
luisramos0
59ec52babe Refactor order_cycle_distributed_variants, better method names and simpler code 2019-04-11 22:15:24 +01:00
luisramos0
44b0592223 Move OrdercycleDistributedVariants from lib/open_food_network to app/services 2019-04-11 21:37:08 +01:00
luisramos0
96ee527f0c Rename distribution_change_validator to order_cycle_distributed_variants 2019-04-11 21:14:01 +01:00
luisramos0
b780823970 Fix specs to adapt to the fact that for the order workflow to get to delivery, the shipping method must be linked to the order distributor otherwise it's ignored when creating the order shipment 2019-03-27 14:10:51 +00:00
luisramos0
01f82e5214 Move OrderSyncer spec to xdescribe until it is fixed as part of spree upgrade phase 2. This is a subscriptions specific spec 2019-03-22 13:06:45 +00:00
luisramos0
c1d14686a6 Merge branch 'master' into 2-0-stable-Mar22 2019-03-22 10:55:17 +00:00
Luis Ramos
6cd07cd107 Merge pull request #3605 from kristinalim/fix/2788-improve_specs_for_order_syncer
[Subscriptions] (v1) Fix assertions in specs for OrderSyncer
2019-03-22 10:31:01 +00:00
Pau Pérez Fabregat
846e6fdd90 Merge pull request #3560 from kristinalim/fix/2788-shipping_method_id_in_shipments
2696,2788 [Spree Upgrade] Fix use of shipping method ID for subscriptions
2019-03-22 11:08:23 +01:00
Kristina Lim
c222971e26 Clean up setup data for some OrderSyncer specs 2019-03-22 03:30:50 +08:00
Kristina Lim
0c2a75a227 Randomize bill and ship address of sample subscriptions
This also fixes some phone references in OrderSyncer specs.
2019-03-22 02:47:12 +08:00
Kristina Lim
94606025c9 Separate call and call! for AdvanceOrderService 2019-03-21 20:34:51 +08:00
Pau Pérez Fabregat
2a3a935c16 Merge pull request #3570 from luisramos0/byebye-prod-distributions
Delete dead feature product distributions
2019-03-20 09:01:23 +01:00
luisramos0
60ee17204b Merge branch 'master' into 2-0-stable-Mar16 2019-03-16 16:17:38 +00:00
Kristina Lim
3ab00d862e Create subscriptions with set up shipping methods
The shipping methods are updated to their target settings after the
subscription order has been created, so the order is created with the
"require_ship_address" factory default which is "true".

The shipping method setting at time of order creation has implications
on whether a shipment is set up for the order or not.
2019-03-15 03:15:55 +08:00
Kristina Lim
ba100a6522 Specify order addresses in some OrderSyncer specs
This is to check that we are using the correct address data in
assertions.

This also clarifies the scenario for one of the specs.
2019-03-15 03:15:55 +08:00
Kristina Lim
7200e2c2c2 Specify hub address in some OrderSyncer specs
This fixes some assertions from using the same subscription shipping and
billing addresses, and distributor address.

One of the specs also pass because the subscription shipping address
matches the distributor address. This commit makes that scenario
clearer.
2019-03-15 03:15:55 +08:00
Kristina Lim
ad935e8d66 Require spec_helper.rb for OrderSyncer specs 2019-03-15 03:15:54 +08:00
Pau Pérez Fabregat
13b2115a29 Merge pull request #3581 from coopdevs/cache-stylistic-improvements
Cache stylistic improvements
2019-03-13 19:05:38 +01:00
luisramos0
2de6c46834 Make order.order_cycle required in cart_service. There’s no more exception for that without product_distributions. 2019-03-13 12:24:40 +00:00
Kristina Lim
56e2ee5366 Fix specs for OrderSyncer 2019-03-13 12:45:56 +08:00
Kristina Lim
7c3433425f Fix setup records for OrderFactory specs 2019-03-13 12:45:55 +08:00
Kristina Lim
182fde58e5 Uncomment now passing tests related to subscriptions 2019-03-13 12:45:55 +08:00