Commit Graph

329 Commits

Author SHA1 Message Date
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
Pau Pérez Fabregat
380a9c561e Merge pull request #3725 from coopdevs/add-specs-for-cache-variant-deletion
Add specs for the cache refresh on variant removal
2019-04-19 19:02:04 +02:00
Maikel
99a4878bdf Merge pull request #3653 from mkllnk/2520-spree2-order-subscription
2520 Remove `process_payments!` override
2019-04-19 07:34:30 +10:00
Luis Ramos
67a7e26757 Merge pull request #3695 from luisramos0/2-0-emails-transl
[Spree Upgrade] Fix translation missing in order confirmation email subject and bring cancel email to ofn
2019-04-16 13:44:24 +01: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
fce3d69345 Add flash and warning to the cart page when item becomes unavailable 2019-04-13 21:39:41 +01:00
luisramos0
46278e3edd Set distributor in order and shipping methods so that refreshing shipment rates suceeds 2019-04-10 22:16:09 +01:00
Luis Ramos
97c920f1b0 Merge pull request #3667 from mkllnk/3477-display-eligible-adjustments
3477 Render only eligible adjustments on the order page
2019-04-10 21:44:16 +01:00
Pau Perez
f20a15e955 Add specs for the cache refresh on variant removal
This is failing in `master` but thanks to the VariantDeleter it does work
in v2. This specs prove it.
2019-04-10 16:16:00 +02:00
Luis Ramos
4478d51aee Merge pull request #3668 from luisramos0/2-0-stable-Mar29
[Spree Upgrade] Merging master into 2-0-stable (4th run in Mar2019)
2019-04-09 17:46:36 +01:00
Pau Perez
3e7e24d700 Make VariantController specs aware of destroy call
In v2 we no longer rely on `Variant#delete` but `Variant#destroy` so
stubbed calls needed fixing.
2019-04-05 15:38:10 +02:00
luisramos0
87327f7aa9 Fix specs testing order cancelation email. The email template now needs a order distributor for the signoff part 2019-04-04 13:41:07 +01:00
Maikel Linke
84501b9e41 Move feature spec to controller spec
It reduces the runtime (3s instead of 10s).
2019-04-04 17:01:44 +11:00
luisramos0
d713c755e6 Uncomment report specs so we can make them work in v2 2019-03-29 22:16:38 +00:00
luisramos0
527cfc1601 Merge branch 'master' into 2-0-stable-Mar29 2019-03-29 13:48:49 +00:00
Maikel
6e31f0078a Merge pull request #3639 from coopdevs/fix-variant-cache-refreshing-on-delete
Fix variant cache refreshing on delete
2019-03-29 15:12:46 +11:00
luisramos0
c1d14686a6 Merge branch 'master' into 2-0-stable-Mar22 2019-03-22 10:55:17 +00:00
Pau Pérez Fabregat
4595ea033f Merge pull request #3624 from mkllnk/2873-spec-register-link
Add spec for registration link on Spree pages
2019-03-22 10:47:43 +01:00
Pau Perez
b293e00777 Test that we refresh the cache on variant destroy
These tests prove that
https://github.com/openfoodfoundation/openfoodnetwork/issues/3629 is
indeed is a bug because we don't refresh the cache when deleting
a variant.
2019-03-22 09:38:24 +01:00
Pau Perez
fbc3fc6a51 Test spree/admin/variants_controller #destroy 2019-03-22 09:18:31 +01:00
Maikel Linke
d62908fd2d Add spec for registration link on Spree pages
The `registration_path` helper resolves to `/signup` in Spree
controllers due to spree_auth_device > config > routes.rb.
We worked around that in:
https://github.com/openfoodfoundation/openfoodnetwork/pull/3174

Here we add a spec for this so that we can test more easily if we
remove that workaround or detect it's accidental removal.
2019-03-21 10:06:15 +11:00
luisramos0
05d42d475e Make reports and subscriptions specs work without product.distributors attribute 2019-03-13 12:24:40 +00:00
Kristina Lim
8782f2087c Use service in admin/payments#create
This separates logic for bang and non-bang versions of
Spree::Order#next.

The different conditions used in both methods (state == "completed" vs
order.completed?) have implications in whether a transition is attempted
or not.
2019-03-13 17:00:31 +11:00
Kristina Lim
0e691815ea Use service in admin/orders/customer_details#update 2019-03-13 12:45:57 +08:00
Kristina Lim
7a8bf76123 Move transitioning of order in admin/orders#edit to service 2019-03-13 12:45:50 +08:00
Luis Ramos
f6ecf3de64 Merge pull request #3568 from luisramos0/2-0-improve-order-factories
[Spree Upgrade] Improve order factories
2019-03-08 09:43:26 +00:00
Luis Ramos
72e9c1d002 Merge pull request #3321 from luisramos0/2-0-delete-acct-invoices
[Spree Upgrade] Delete Accounts and Billing dead feature code until we decide we want to start using it again
2019-03-04 15:54:09 +00:00
luisramos0
d840fa7b77 Improve order factories:
- Make order_with_totals_and_distribution shorter by inheriting from order_with_distributor
- Make completed_order_with_fees more correct by inheriting only from order_with_distributor: this removes the line_item_with_shipment of order_with_totals_and_distribution that was causing an extra shipping adjustment to be kept in the order. This adjustment was being tested in the order controller spec (fixed the explanation comment in the spec which was wrong, there was no enterprise fee in this order)
2019-03-01 20:00:58 +00:00
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
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
b7abb72ed5 Merge pull request #3462 from luisramos0/delete-api-order-ctrl
Delete empty controller class eval and spec
2019-02-19 11:14:29 +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 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
Pau Pérez Fabregat
2d2e25b9fa Merge pull request #3484 from coopdevs/fix-invoices-controller-spec
Stub default value for other calls to File.exist?
2019-02-13 20:32:13 +01:00
Luis Ramos
c6cd1b7ef2 Merge pull request #3471 from luisramos0/2-0-bulk-invoices-phase2
[Spree Upgrade] Make Bulk Invoices part of spree upgrade phase 2
2019-02-13 12:37:15 +00:00
Pau Perez
59e27ffc0e Stub default value for other calls to File.exist?
This fixes the following error

```
 1) Spree::Admin::InvoicesController#poll when the file is available returns true
     Failure/Error: spree_get :poll, invoice_id: invoice_id

       #<File (class)> received :exist? with unexpected arguments
         expected: ("tmp/invoices/479186263.pdf")
              got: ("/home/pau/dev/openfoodnetwork/tmp/cache/paralleltests/3B7/CD1/spree%2Fapp_configuration%2Fredirect_https_to_http")
        Please stub a default value first if message might be received with other args as well.
     # ./spec/controllers/spree/admin/invoices_controller_spec.rb:28:in `block (4 levels) in <top (required)>'
     # -e:1:in `<main>'
```

`paralleltests` also relies on `File.exist?` and so stubbing it breaks
it unless we purposefully allow other calls.
2019-02-13 13:16:28 +01:00
Pau Pérez Fabregat
1b7edab3d6 Merge pull request #3441 from luisramos0/2-0-shipments-api
[Spree Upgrade] Adapt api shipments controller to OFN by scoping variants before each action
2019-02-13 12:36:08 +01:00
luisramos0
5ccbf7b3ca Add specs for error cases in shipments_controller_spec 2019-02-13 10:37:21 +00:00
Maikel Linke
5f5b0aaabf Simplify specs with stripe factory 2019-02-13 18:34:22 +11:00
luisramos0
ba8096ff85 Improve method names in shipments_controller_spec 2019-02-12 17:31:58 +00:00
luisramos0
c652cfe4d5 Merge branch 'master' into 2-0-stable-Feb12 2019-02-12 16:03:33 +00:00
Pau Pérez Fabregat
b6ca0ba24f Merge pull request #3456 from coopdevs/fix-last-orders-controller-spec
Fix orders controller spec
2019-02-12 12:47:15 +01:00
luisramos0
7c0b21eb83 Make bulk invoices part of spree upgrade phase 2 2019-02-12 10:37:22 +00:00
luisramos0
58ea28ebb4 Make Api::ShipmentsController#create re-use order.shipment if it exists
Improve code and add specs to this controller
2019-02-12 10:09:00 +00:00
luisramos0
0f44beb477 Delete all Spree::Admin::LineItemsController customizations as they are no longer used 2019-02-12 10:09:00 +00:00
Luis Ramos
edd1da7d50 Update spec/controllers/spree/orders_controller_spec.rb
Fix typo in doc

Co-Authored-By: sauloperez <saulopefa@gmail.com>
2019-02-12 09:12:03 +01:00
luisramos0
ad0e5bb093 Re implement orders ctrl update method so we can change redirection logic and add specs for it 2019-02-10 15:31:01 +00:00