Commit Graph

713 Commits

Author SHA1 Message Date
Kristina Lim
3104862739 Fix shop accidentally becoming order coordinator
The original setup of the order calls:

  create(:simple_order_cycle)

Which picks an arbitrary distributor as coordinator:

  coordinator { Enterprise.is_distributor.first || ... }

There is a chance that any of the existing distributor enterprises
becomes coordinator, causing a test to intermittently fail.

This commit makes the relationship between the reference enterprises and
the order consistent.
2019-02-01 20:28:36 +00:00
Pau Pérez Fabregat
a95dd98ed6 Merge pull request #2869 from Matt-Yorkley/bi/bulk_invoices
[Bulk Invoice Printing] Bulk invoices
2019-01-18 17:49:34 +01:00
luisramos0
d926f7c776 Reorganize and improve cart controller spec 2019-01-15 13:42:51 +00:00
luisramos0
aa603c9a84 Make rubocop happy on cart controller, cart service and stock levels service 2019-01-15 13:42:51 +00:00
luisramos0
b0449be302 Add spec to test cart controller handling of variant overrides on cart populate 2019-01-15 13:38:58 +00:00
luisramos0
c0473a4505 Extract variants_stock_levels from cart_controller and refactor some names 2019-01-15 13:38:58 +00:00
Matt-Yorkley
66ac61f591 Rename background processing method 2019-01-10 09:57:06 +00:00
Matt-Yorkley
4f9f8adcd6 Add Service and remove Job 2019-01-10 09:57:06 +00:00
Matt-Yorkley
7d82020657 Move bulk invoice to new RESTful route 2019-01-10 09:57:06 +00:00
Pau Pérez Fabregat
1ab50798fe Merge pull request #3189 from luisramos0/3043-i18n-emails
Make all mailers use appropriate locale when sending emails
2018-12-24 14:59:04 +01:00
luisramos0
5e960512ac Set user locale on user registrations #create
This is done so that user.locale is used in the first confirmation email. This also stores user.locale in the DB from registration.
2018-12-18 15:30:01 +00:00
Pau Pérez Fabregat
2deffb9c9f Merge pull request #3076 from Matt-Yorkley/orders_checkboxes
Fix checkbox values on orders page
2018-12-17 10:35:46 +01:00
Pau Pérez Fabregat
64e41712c6 Merge pull request #3130 from coopdevs/extract-restart-checkout
Extract restart checkout
2018-12-12 17:12:53 +01:00
Matt-Yorkley
e711c5ed03 Add spec for search filters 2018-12-10 20:48:53 +00:00
Pau Pérez Fabregat
3b56212290 Merge pull request #3151 from coopdevs/remove-frontoffice-enterprises-n+1
Remove frontoffice enterprises n+1
2018-12-05 08:12:19 +01:00
Pau Perez
5a85d7a77b RSpec3-ize controller spec 2018-11-28 13:54:42 +01:00
Hugo Daniel
65dd3eb5b9 Change line items controller HTML response spec to look for form order_edit class 2018-11-28 10:31:47 +01:00
Pau Pérez Fabregat
869f17256d Merge pull request #3011 from HugsDaniel/3000-api-endpoint-enterprise-fee
Add an API endpoint for EnterpriseFeesController#destroy
2018-11-27 17:28:43 +01:00
Pau Perez
453b2a99de Rename redundant #restart_checkout to #call 2018-11-23 12:05:39 +01:00
Pau Perez
3b681a59ba Move controller tests to service class tests 2018-11-23 12:04:42 +01:00
Pau Perez
a62a2cb52f Extract #restart_checkout to a service 2018-11-23 12:04:42 +01:00
Hugo Daniel
0868404e98 Add specs for new Api::EnterpriseFeesController 2018-11-15 17:58:56 +01:00
Hugo Daniel
4e29589be0 Add specs for cloning a product with image 2018-11-15 13:51:40 +01:00
Pau Pérez Fabregat
3b85bbe911 Merge pull request #2923 from mkllnk/2882-extract-email-setup-in-specs
Extract email setup in specs for easy upgrade
2018-11-02 15:40:19 +01:00
Maikel
3259b3ecf1 Merge pull request #2912 from Matt-Yorkley/admin_orders_refactor
Admin orders refactor
2018-11-02 16:57:28 +11:00
Matt-Yorkley
b826beb0d7 Inline hashes in tests 2018-10-26 21:38:57 +01:00
Matt-Yorkley
29492d61f9 Use #allow syntax 2018-10-26 21:38:57 +01:00
Matt-Yorkley
8c19d1afec Move tests from spree/admin/orders_controller_spec to api/orders_controller_spec and tidy up 2018-10-26 21:38:57 +01:00
Matt-Yorkley
1f8f7b0495 Add new Api::OrdersController spec 2018-10-26 21:38:57 +01:00
Matt-Yorkley
77251848ee Refactor Spree::Admin::OrdersController 2018-10-26 21:38:57 +01:00
luisramos0
09f8df6340 Reorganize LineItemsController's destroy line item specs to separate contexts with different test orders (completed_with_total and completed_with_fees) 2018-10-25 18:06:48 +01: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
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 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
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
Maikel Linke
17d951f99d Rescue from any sign-up errors
The most common failure would happen when sending the confirmation email
triggered by `user.save`. We rescue any errors here and give feedback to
the user.

This allows for immediate feedback when the user types an email address
that is not accepted by our mail server or the email setup is not
configured properly.
2018-09-27 13:33:08 +10:00
Maikel Linke
3ae073dce5 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/controllers/user_registrations_controller_spec.rb

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

* 7 conversions
    from: == expected
      to: eq(expected)

For more details: https://github.com/yujinakayama/transpec#supported-conversions
2018-09-27 13:33:08 +10:00
Maikel Linke
600c8fcd4c Send confirmation emails immediately
Using deferred methods on the user model breaks delayed jobs when the
user is deleted while the job still exists. We could create a proper job
referencing a user id for sending these emails instead. But since the
user has to wait for the confirmation email anyway, we can send it
within the current request. This should be revised if performance
becomes an issue.

Sending the email directly also has the advantage that we can tell the
user if emailing failed. See the following commits.

This change impacts a bunch of specs as we now need a working email
setup to create unconfirmed users. This commit introduces a custom
matcher to unify testing for confirmation emails.
2018-09-27 13:33:08 +10:00
Matt-Yorkley
b2551b4e0b Rewrite existing specs 2018-09-19 13:00:30 +01:00
Maikel
beedd933e9 Merge pull request #2512 from kristinalim/feature-remove_enterprise_images
Support removal of enterprise logo and promo image
2018-09-14 15:07:24 +10:00
Kristina Lim
cd41498da9 Ask to login when not authenticated for order page
Redirect the user to the login page, instead of responding with HTTP
401.
2018-09-06 16:26:48 +08:00
Kristina Lim
3bf9e95511 Add specs for existing behaviour in order page 2018-09-06 16:26:45 +08:00
Kristina Lim
28d2bb3d47 Wrap controller specs for viewing cart 2018-09-06 15:04:11 +08:00
Kristina Lim
9c3bb863da Add endpoints for removing enterprise images 2018-09-04 01:32:39 +08:00
Maikel
a37931afda Merge pull request #2542 from luisramos0/add_to_cart
Extract OrderController.populate to new CartController and OrderPopulator to new CartService
2018-08-24 14:43:33 +10:00
Maikel
871e423e12 Merge pull request #2548 from kristinalim/feature-bulk_update_of_order_cycle_name
Make OC name editable from the OC index
2018-08-24 11:38:31 +10:00
luisramos0
ec069b1e3e Converted specs to latest rspec syntax 2018-08-23 12:39:58 +01:00
luisramos0
05bfc098ff /controllers/spree/order_populator_decorator (with a class_eval) is now /services/CartService with no dependency to Spree::OrderPopulator. 2018-08-23 12:39:55 +01:00
luisramos0
6caa361354 Moved Spree::OrderController.populate to new CartController.
This was done to make order populate independent of Spree::OrdersController
2018-08-23 12:37:52 +01:00
Grey Baker
468c29b8c1 Use new basic auth stub style 2018-08-22 21:35:56 +01:00