Commit Graph

110 Commits

Author SHA1 Message Date
Kristina Lim
2c279fd02d Remove line item adjustments if line item deleted 2019-07-13 03:58:01 +10:00
Kristina Lim
8a048cc155 Add proof line item adjustments remain after line item removal 2019-07-13 01:43:07 +08:00
Maikel Linke
5bbd63bcd8 Add spec for rescuing order saving shipment 2019-06-26 11:32:01 +10:00
luisramos0
86b0d71c7e Result of rubocop auto-correct and rebuilding rubocop_manual_todo 2019-05-28 12:57:29 +01:00
luisramos0
04801e5c2e Run transpec in spec/models 2019-05-09 22:25:29 +01: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
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
Maikel Linke
6f12eee8ae Reduce the override of Order for subscriptions
Orders belonging to subscriptions get completed without payment. That
requires overriding Spree's functionality.

In Spree 2, an order in payment state without pending orders is invalid.
Instead we skip the payment state by not requiring a payment for
automatically generated orders until the order cycle is closed.
2019-04-16 10:30:14 +10: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
luisramos0
c1d14686a6 Merge branch 'master' into 2-0-stable-Mar22 2019-03-22 10:55:17 +00:00
luisramos0
60ee17204b Merge branch 'master' into 2-0-stable-Mar16 2019-03-16 16:17:38 +00:00
luisramos0
3117dbf624 Remove product distributions from order model 2019-03-13 11:50:35 +00:00
luisramos0
5ab4ae88f5 Remove distribution change in order_spec, order distributor cannot be changed, if distributor or oc is changed, the order is emptied 2019-03-02 13:08:39 +00:00
luisramos0
36e2786a1e Delete Accounts and Billing dead feature code 2019-02-25 14:37:16 +00:00
luisramos0
5d51ad71b0 Merge branch 'master' into 2-0-stable-Feb20 2019-02-20 14:32:36 +00: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
Maikel Linke
5f5b0aaabf Simplify specs with stripe factory 2019-02-13 18:34:22 +11: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
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
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
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
fcdb5cd7af Merge branch 'master' into 2-0-stable-nov-8th 2018-11-08 11:18:54 +00:00
luisramos0
8a034a1538 Fix occurrences of order.shipping_method= by replacing with order.shipments= 2018-10-30 13:37:45 +00:00
Maikel Linke
e6adb8a3b9 Extract email setup in specs for easy upgrade
The way we set up email sending completely changes with Spree 2. This
change encapsulates that code in a single method so that it can be
changed easily and doesn't create further merge conflicts while we are
still working on the master branch and the Spree upgrade.
2018-10-25 13:53:22 +11:00
luisramos0
a83af367b4 Fix order_spec related to retrieving previously ordered items
In spree 2, each completed_order_with_totals comes with 5 line items (see order_factory in spree), so instead of 1+1+1=3 the calculation becomes 5+5+1=11
2018-10-18 10:54:21 +01:00
luisramos0
74eff8730b Fix tests of fees in a completed order in models/spree/order_spec by:
- set distributor with taxes on the order
- simplify the factory completed_order_with_fees by replacing shipment with shipping_method and ship_address and letting the order workflow handle shipments and inventory units
2018-10-18 10:54:21 +01:00
Pau Pérez Fabregat
c99fec44da Merge pull request #2824 from luisramos0/2-0-order-spec
[Spree Upgrade] Fix taxes tests in models/spree/order_spec
2018-10-16 18:09:33 +02:00
luisramos0
87cd73ddba Merge branch 'master' into 2-0-stable-oct 2018-10-15 17:09:26 +01:00
luisramos0
ed429dd20d Fix models/spree/order_spec tests related to tax on shipments:
- make Spree::Config be picked up correctly by reordering test object creation
- make sure line item is loaded in the order when the order is created
2018-10-11 18:06:33 +01:00
Luis Ramos
f0183cd17e Merge pull request #2762 from luisramos0/2-0-order-model-spec
[Spree Upgrade] Fixed updates of order.shipping_method_id and improved order, stock_location and shipment factories
2018-09-27 13:43:58 +01:00
Pau Perez
eb64569c9a Destroy all shipments when clearing order
Now we only clear the order's shipping_method, and in Spree 2.0 it can
have many shipments.
2018-09-24 15:25:33 +01:00
luisramos0
4476b88044 Fixed shipping_method update in models/spree/order_spec, order.shipment is now updated instead of order.shipping_method_id 2018-09-24 15:13:36 +01: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
luisramos0
fbd2d96b05 Moved shipment and shipping_method factories with flat rate and shipping fees to traits 2018-09-17 00:51:01 +01:00
Pau Pérez Fabregat
5a11af9118 Merge pull request #2668 from luisramos0/2-0-ship-method-order-spec
[Spree 2 Upgrade] Fixed models/order_spec issues related to order.shipping_method
2018-09-10 11:18:10 +02:00
luisramos0
73512d3591 Replaced order.shipping_method with order.shipments in models.order_spec.
Fixed factory completed_order_with_fees used in order_spec and also in line_items_controller_spec and orders_controller_spec.
2018-09-09 23:13:32 +01:00
luisramos0
afedbe45ab Fixed scenario "guest order with registered email" in order_spec
Spree order factory requires user (we are setting it to nil below so, no impact on the test)
Defining shipping method is not necessary for this test
2018-09-09 23:13:32 +01:00
luisramos0
d6cff9bc68 Removed calls to the now inexistent order.create_shipment! from specs 2018-09-09 23:13:27 +01:00
luisramos0
b5038fa5dc Changed calls to MailMethod in specs to calls to Spree::Config[:mails_from] 2018-08-27 21:02:54 +01:00
Pau Perez
f1896313b3 Move shipping_address_from_distributor to OrderUpdater
This is still Spree-1.3 compatible not considering multiple shipments
and shipping methods.
2018-07-25 11:07:16 +02:00
Matt-Yorkley
358edb4727 Disable guest checkout in model 2018-05-11 12:05:27 +10:00
Daniel Dominguez
9d9a974295 Switched gem FactoryGirl to FactoryBot as FactoryGirl is deprecated.
- Change FactoryGirl to FactoryBot everywhere on code.
2018-05-04 11:52:08 -03:00
Pierre de Lacroix
28bb15f4a9 Fix old rspec syntax 2018-03-20 12:21:27 +01:00
Pierre de Lacroix
2ceecc3d6e Test Order#tax_adjustment_totals with taxed adjustment on order 2018-03-20 12:18:51 +01:00
Pierre de Lacroix
03de6c690c Fix incorrect tax amount on Admin Order #show
by calling Order#tax_adjustment_totals from
Order#price_adjustment_totals
2018-03-20 12:18:09 +01:00
Pierre de Lacroix
040c292a76 Fix some more old rspec syntax 2018-03-06 01:29:54 +01:00
Rob Harrington
b7876ebfbf Replace references to 'standing order' with 'subscription' (spec) 2018-02-09 14:44:14 +11:00
Rob Harrington
02f474e16a Fixing up spec data for orders spec 2018-02-09 14:43:55 +11:00
Rob Harrington
2231d4c6cf Using factories to build spec data rather than StandingOrderForm 2018-02-09 14:43:54 +11:00