Commit Graph

8916 Commits

Author SHA1 Message Date
Maikel
058a45f4e5 Merge pull request #9442 from jibees/8904-display-fees-name-instead-of-type-on-invoices
Display fees name instead of type on invoices
2022-10-10 13:15:01 +11:00
Maikel
e5ccee42cc Merge pull request #9725 from vsmay98/9468-hide-all-references-hub-from-producers-profile
[Shopfront] Hide hub with "hide all references" setup in producers profiles
2022-10-10 13:11:49 +11:00
Maikel
38f145549a Merge pull request #9741 from mkllnk/empty-variant-param
Avoid error when sending empty variant attributes in bulk product edit
2022-10-10 11:43:10 +11:00
Maikel Linke
1137e6890b Supply feature mock with default value
Otherwise Rspec complains about receiving another argument which is not
the one we defined here before.
2022-10-08 16:23:17 +02:00
Maikel Linke
52e934ec2b Consistently use our FeatureToggle module
Direct calls to Flipper have the downside that we can't add any new
functionality like storing the feature in the database when used.
2022-10-08 16:23:17 +02:00
Maikel Linke
bc26a3aa07 Add used feature toggles to appear in the admin UI
The admin UI shows only features which were added to the database. We
always had to look up a feature's name add it manually before we could
enable it. Now it will appear in the UI after some code asked if it was
enabled.

This only adds a database query once when the feature doesn't exist yet.
The `feature.exist?` call only performs an in-memory lookup in the
memoizer.
2022-10-08 16:23:17 +02:00
Jean-Baptiste Bellet
8b89c901ef Do not display "Admin and Handling" ie. fees total 2022-10-08 10:00:57 +02:00
Maikel Linke
b297299838 Simplify test of adjustments 2022-10-08 10:00:57 +02:00
Maikel Linke
52843de1da Test against unique fee name
The adjustment factory calls everything "Shipping" by default. This was
confusing here because we were explicitely looking at a non-shipping
fee.
2022-10-08 10:00:57 +02:00
Jean-Baptiste Bellet
77e644e3d4 Get adjustment which is not the shipping one 2022-10-08 10:00:57 +02:00
Jean-Baptiste Bellet
72df2867d4 Remove admin_and_handling merging
+ update specs as well
2022-10-08 10:00:57 +02:00
Jean-Baptiste Bellet
0cc8349c71 Use fee name for the adjustment label instead of type
+ update specs as well
2022-10-08 10:00:57 +02:00
Maikel Linke
95d68b98a9 Spec both cases of removing variants from order cycles
The spec tested only the removal but not he keeping of variants.
I want to change this in the next commit to simplify the class.
2022-10-08 09:03:38 +02:00
Vishal Jain
b582b61414 add specs to not include hidden hubs 2022-10-07 11:24:32 +02:00
Maikel
8072e97579 Merge pull request #9721 from filipefurtad0/fix_flaky_shopping_spec
Addresses flakyness in shopping_spec.rb
2022-10-05 13:19:23 +11:00
filipefurtad0
977916cb11 Adds 2 sec sleep time on other flaky examples 2022-10-04 20:58:30 +01:00
filipefurtad0
f4edfcefa2 Adds 2 sec sleep time 2022-10-04 20:17:14 +01:00
binarygit
25ae10dbe8 Create bulk orders cancellation feature 2022-10-04 16:57:31 +02:00
filipefurtad0
7b592fd80b Adds assertion after page visit to promote page loading 2022-10-04 12:27:58 +01:00
filipefurtad0
8e6f828f66 Splits it cases into respective contexts 2022-10-03 19:30:57 +01:00
filipefurtad0
fa05327342 Adds assertions on clearing searches
Asserts on page contents
2022-10-03 19:12:27 +01:00
filipefurtad0
cafa17ec13 Splits test into two assertions 2022-10-03 19:12:27 +01:00
jibees
0c64720a9e Merge pull request #9710 from mkllnk/9002-customer-association-updates
Associate and update customer records when ordering
2022-09-30 16:36:01 +02:00
Filipe
4b279d28dd Merge pull request #9262 from cillian/order-cycle-shipping-methods
Let people customise which shipping methods are available to customers on order cycles
2022-09-30 14:36:37 +01:00
Cillian O'Ruanaidh
acd4706890 Set closing time correctly in order_cycles/complex_creating_specific_time_spec.rb 2022-09-30 14:22:11 +01:00
Filipe
f7d21406a1 Merge pull request #9702 from ashwini-seshadri/master
Fix for new subscription dialog
2022-09-30 13:32:42 +01:00
Cillian O'Ruanaidh
f9e29f3a78 Fix Metrics/AbcSize violation in order_cycles/complex_creating_specific_time_spec.rb 2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
def87485c0 Don't delete schedules on the order_cycles#update action just because the :schedule_ids was not specified in the parameters
Before this schedules were being deleted when the Checkout Options step of editing order cycles was saved because this step wasn't sending the :schedule_ids parameter. It's more awkard for API users if they always need to explicity send the :schedule_ids parameter even if they don't want to add/remove any of the schedules, for example if they just want to update an order cycle name.
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
6542b47e72 Adjust order_cycles/complex_creating_specific_time_spec to take into account that DistributorShippingMethods instead of ShippingMethods are connected to OrderCycles now 2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
2827e07da6 Define :oc with let so it is available globally to other methods such as :expect_fees_saved 2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
23f6901fb4 Adjust order_cycles/simple_spec.rb to take new Checkout Options step into account
Note, this doesn't test checking/unchecking some distributor shipping methods and not others because that is tested in order_cycles/complex_creating_time_specific_spec.rb.
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
5207dbf8c6 OrderCycle#distributor_shipping_methods should return all attachable ones by default per distributor, not per all distributors 2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
7e40ad39cb Bring back select all checkboxes on order cycle checkout options form. 2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
a53a3259a8 Connect DistributorShippingMethods to OrderCycles instead of Spree::ShippingMethods
Before if a shipping method was shared between multiple distributors it could only be disabled/enabled on that order cycle for all the distributors which have that shipping method e.g. you couldn't select that shipping method for one distributor but disable it for another.
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
4b0b4ad991 Revert "Use a more simple layout on the order cycle checkout options form"
This reverts commit 0dddaa6c2b9f1925adca6ff8deac8181691ae119.
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
32d16eacd2 Fix Rubocop Metrics/AbcSize and Layout/LineLength errors in complex_creating_specific_time_spec.rb
Not sure if this is correct but it removes the Rubocop violations.
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
8e47949260 Check 'Select all' checkboxes on page load if all its checkboxes are checked
This means the code to set the initial value in the view template isn't needed.
2022-09-30 13:13:39 +01:00
Maikel Linke
512394862b Wait for input field before filling it
The spec was failing from time to time. I hope that this will fix it.

```
Failures:

  1)
    As an administrator
    I want to create/update complex order cycles with a specific time
 creating an order cycle with full interface
     Failure/Error: fill_in 'order_cycle_outgoing_exchange_0_pickup_time', with: 'pickup time'

     Capybara::ElementNotFound:
       Unable to find field "order_cycle_outgoing_exchange_0_pickup_time" that is not disabled

     # ./spec/system/admin/order_cycles/complex_creating_specific_time_spec.rb:138:in `add_distributor_with_fees'
     # ./spec/system/admin/order_cycles/complex_creating_specific_time_spec.rb:66:in `block (2 levels) in <main>'
     # ./spec/system/support/cuprite_setup.rb:39:in `block (2 levels) in <main>'
     # -e:1:in `<main>'
```
2022-09-30 13:13:39 +01:00
Maikel Linke
3518d1ba92 Spec "Select all" shipping methods field 2022-09-30 13:13:39 +01:00
Maikel Linke
c5bb2f52e1 Check "Select all" to start with
Reflect the state of the shipping method checkboxes.
2022-09-30 13:13:39 +01:00
Maikel Linke
758030e81a Test with readable labels instead of ids 2022-09-30 13:13:39 +01:00
Maikel Linke
da2ef3fae2 Give order cycle spec some structure 2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
0673f9a5ae Use a more simple layout on the order cycle checkout options form
Before there was a row for each distributor and a 'shared' row for shipping methods which were shared among more than one distributor. This layout displays a single list of shipping methods with the distributor or distributors it belongs to beside it as suggested by @lin-d-hop
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
efb1a326b4 Fix line length in OrderCycleForm spec for Rubocop 2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
94b96e18ed Remove OrderCycleForm specs that are no longer necessary
These were added for a previous approach which is no longer used.
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
80b7a5d39a Remove OrderCycleShippingMethod model and use a :has_and_belongs_to_many association instead
Before the OrderCycleShippingMethod had a validation which checked the shipping method belonged to the order cycle distributor. Instead of this validation this just ignores shipping methods which don't belong to one of the order cycle's distributors when they are being attached in the OrderCycleForm service. This pattern is already being used in the OrderCycleForm service for ignoring Schedules that the person doesn't own.

Co-authored-by: Maikel <maikel@email.org.au>
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
593da4996f A shop won't be shown as open if it doesn't have useable shipping method so these shipping method validations are really necessary 2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
a3a52a07b7 Build shipping method with a category so it's valid in the test 2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
747c88fb35 Update the Shop::OrderCyclesList service so it's clearer what kind of order cycles are being fetched
Before the Shop::OrderCyclesList service would return order cycles even if they are not ready for checkout and we had a check before calling the service in BaseController which would return OrderCycle.where('false'). It seems like this check should be part of the service too.
2022-09-30 13:13:39 +01:00
Cillian O'Ruanaidh
f4a4f7c9ff Remove validations checking order cycle has shipping methods
Instead we will make sure the order cycle is not available on the shopfront if it is doesn't have valid shipping methods. This will preven the issue where if one distributor deletes their shipping method, we don't want to invalidate the order cycle for all other distributors.

Co-authored-by: Maikel <maikel@email.org.au>
2022-09-30 13:13:39 +01:00