Commit Graph

1614 Commits

Author SHA1 Message Date
Matt-Yorkley
0e3429dc35 Merge pull request #6758 from Matt-Yorkley/enterprise-fees-refactor
Enterprise fees refactor
2021-02-22 17:59:18 +01:00
Jean-Baptiste Bellet
9bc5aa69bb Use the right default date time format
- Using the altInput from flatpickr forces us to use this default date format which is `%Y-%m-%d %H:%M`
2021-02-22 13:00:43 +01:00
Jean-Baptiste Bellet
e93474d493 Look for hidden input using the right date time format
- This is an option, and by default it has the previous behavior: look only for visible element
 - This option allows us to look for non-visible elements
 - Using new altInput from flatpickr create a input hidden element. This is why we need to look at this element.
 - Using the altInput from flatpickr forces us to use this default date format
 - As we now use `altInput` from flatpickr, the value used to communicate between backend and frontend is stored into an input type hidden.
2021-02-22 13:00:04 +01:00
Jean-Baptiste Bellet
fbe53a3a2e Use UI to fill date into datetimepicker
This creates a new method to select date and time from datetimepicker.

Field cannot be filled "manually" (ie. by entering its value)
2021-02-22 12:58:29 +01:00
Pau Pérez Fabregat
99dbd8afa7 Merge pull request #6791 from filipefurtad0/customers_spec
enhances customers_spec.rb to check customer balance, after additional payments were added to an order
2021-02-11 11:36:30 +01:00
Pau Pérez Fabregat
7fe79eccea Merge pull request #6691 from jibees/6664-new-datetimepicker
6664 new datetimepicker
2021-02-11 11:21:19 +01:00
Pau Perez
e703113c08 Fix typo in test wording 2021-02-11 10:29:56 +01:00
filipefurtad0
33f7335c02 splitted testcases into different context blocks 2021-02-11 10:29:56 +01:00
filipefurtad0
82b93fc757 declared relevant variables with let! 2021-02-11 10:29:56 +01:00
filipefurtad0
3160d723b0 checks whether second payment was added correctly to the order 2021-02-11 10:29:56 +01:00
filipefurtad0
467b9e71a2 adds additional test case, in which a negative payment is added to an order 2021-02-11 10:29:56 +01:00
filipefurtad0
c722e1c082 declares variables for orders using let; prepares additional test cases 2021-02-11 10:29:56 +01:00
Pau Perez
31d3854a74 Temporarily skip very flaky specs
These are the tests that are failing a lot across all builds, slowing
down everything in the pipe. It's better to skip these rather than
paying this huge toll. They can be restored once we spike a new CI service.
2021-02-09 11:48:06 +01:00
Jean-Baptiste Bellet
653f576bb1 Fill date and time value into the fields
as the new datetimepicker provide a disabled input field, it needs to be virtualized (and cannot be filled in with method `fill_in`)
2021-02-08 22:09:06 +01:00
Jean-Baptiste Bellet
54f34093b4 reorder tests and set oc1 to an "updated" value
Seems like we need to set a value to "" before fill_in the input.
2021-02-08 22:09:06 +01:00
Jean-Baptiste Bellet
b72ef18ad6 update datepicker_helper and add method to select date
Introduce a new method `select_date_from_datepicker` and then use it on test
2021-02-08 22:09:06 +01:00
Jean-Baptiste Bellet
e3db4e2e86 update test to match new datepicker
And use the method choose_today_from_datepicker
2021-02-08 22:09:06 +01:00
Jean-Baptiste Bellet
329ec3455f update order_cycles (both list and simple) tests
As we know use a new datepicker (flatpickr), we need to update our test.
2021-02-08 22:09:06 +01:00
Pau Perez
cdcda46bff Re-enable mail_bcc field in mail method settings
This feels safer because we don't risk messing up with any instance's
operations while still moving us towards removing this page.
2021-02-02 12:16:55 +01:00
Pau Perez
063d44fecc Disable mail methods form fields except mails_from
This moves a step closer to having a simple and straightforward way to
configure the app's mail delivery which doesn't require to be a nuclear
engineer to troubleshoot mail issues.

It happens way too often that servers have mail config broken when
restarted or redeployed and it takes too much brain power to fix it. No
doubt; it's way too complex.

I chose to leave this page's form fields but "Send mails as" as
read-only. This other field is still used by instance manager to
troubleshoot mail issues.
2021-02-01 18:45:02 +01:00
Matt-Yorkley
9abf6cdcdf Rename expensive method Order#update_distribution_charge!
This method is named "update distribution charge". What this method actually does is delete all of the fee adjustments on an order and all it's line items, then recreate them all from scratch. We call this from lots of different places all the time, and it's incredibly expensive. It even gets called from inside of transactions being run inside callbacks. Renaming it hopefully will add a bit of clarity.

This needs to be a lot more granular!
2021-01-29 21:52:28 +00:00
filipefurtad0
c5c9e803ab Fixes a pending test case and improves the spec run time 2021-01-24 13:32:04 +00:00
Andy Brett
84689c43be Merge pull request #6534 from andrewpbrett/sca-emails
Send email when SCA authorization is required for admin payment
2021-01-21 13:53:35 -08:00
Andy Brett
70f30f5224 Merge pull request #6658 from andrewpbrett/item-counter-fix
Further fix #5989 (Item counter accepts values higher than the available stock)
2021-01-21 10:56:18 -08:00
Andy Brett
ab5ffead1d require that the redirect url be to stripe.com and over https 2021-01-21 09:18:29 -08:00
Cillian O'Ruanaidh
40f9b063fe Remove ability to create new product from products page, use /admin/products/new instead.
It's simpler if there is just one place to add a new product. Closes #6650

This removes the 'creating directly from the new product path' test scenario because we have another 'assigning important attributes' scenario above which provides enough coverage.
2021-01-21 08:24:01 -08:00
Andy Brett
77419a1e4b Merge pull request #6675 from cillian/single-new-product-view
Remove ability to create new product from products page, use /admin/products/new instead.
2021-01-20 19:23:33 -08:00
Andy Brett
e31d566f7f Merge pull request #6283 from luisramos0/sets
Move sets out of app/models to app/services/sets
2021-01-20 19:22:15 -08:00
Cillian O'Ruanaidh
79668e06a7 Remove ability to create new product from products page, use /admin/products/new instead.
It's simpler if there is just one place to add a new product. Closes #6650

This removes the 'creating directly from the new product path' test scenario because we have another 'assigning important attributes' scenario above which provides enough coverage.
2021-01-15 10:24:50 +00:00
Andy Brett
18dcbbd892 Merge pull request #6613 from Matt-Yorkley/variant-override-serialization
Don't serialize all variant override objects where they are not needed
2021-01-14 10:59:11 -08:00
Luis Ramos
fd0bba19a7 Adapt enterprises code and specs to new namespace Sets::EnterpriseSet 2021-01-14 09:41:07 +00:00
Luis Ramos
5d6d7f7ad0 Adapt enterprise fees code and specs to new namespace of Sets::EnterpriseFeeSet 2021-01-14 09:41:07 +00:00
Andy Brett
8c4d12a501 limit item counter to max quantity available even if amount is manually filled in 2021-01-13 16:23:41 -08:00
Matt-Yorkley
5f2dc38241 Merge pull request #6098 from brymut/item-counter-fix
Fix #5989 Item counter accepts higher amount than available stock
2021-01-13 22:33:08 +01:00
Matt-Yorkley
9633ddf7ce Add test for variant override symbol and tooltip 2021-01-13 18:19:16 +00:00
Pau Perez
398467e7ed Hide new balance impl. under feature toggle
This makes it possible to deploy it without releasing it to users since
the toggle is not enabled for anyone.

It aims to make the balance calculation consistent across pages.
2021-01-11 15:50:19 +01:00
Pau Perez
46d997406a Filter out cart orders when fetching customers
We only care about non-cart orders and skipping carts, saves PostgreSQL
query planner to go through thousands of records in production use cases
(my food hub).

We go from

```sql
 ->  Index Scan using index_spree_orders_on_customer_id on spree_orders  (cost=0.42..12049.45 rows=152002 width=15) (actual time=0.015..11.703 rows=13867 loops=1)
```

to

```sql
->  Index Scan using index_spree_orders_on_customer_id on spree_orders  (cost=0.42..12429.46 rows=10802 width=15) (actual time=0.025..17.705 rows=9954 loops=1)
```
2021-01-11 15:50:19 +01:00
Pau Perez
96a91969c9 Extract balance-specific serializer
So we only show the customer balance where really needed. Aggregating
the balance can be costly. Also, we avoid defensive coding.
2021-01-11 15:50:19 +01:00
Pau Perez
d62ab06504 Refactor DB query to aggregate customer balance
It's simpler and many orders of magnitude more efficient to ask the DB
to aggregate the customer balance based on their orders. It removes
a nasty N+1.

The resulting SQL query is:

```sql
SELECT customers.*, SUM(spree_orders.total - spree_orders.payment_total) AS balance
FROM "customers"
INNER JOIN "spree_orders"
    ON "spree_orders"."customer_id" = "customers"."id"
WHERE "customers"."enterprise_id" = 1
    AND (completed_at IS NOT NULL)
    AND (state != 'canceled')
GROUP BY customers.id
ORDER BY email;
```
2021-01-11 15:50:19 +01:00
Andy Brett
ffeea631b3 add spec for exceeding available quantity 2021-01-09 18:49:53 -08:00
Matt-Yorkley
0c9df590d3 Add some improvements to help ensure UI elements are actually loaded by Angular before they are clicked on by Capybara 2021-01-07 14:50:09 +00:00
filipefurtad0
3c123bb947 Simplified the delete test-case
Using :xpath may compromise the stability of the test, and make it break upon slight changes to the page.
2021-01-06 16:23:46 +00:00
filipefurtad0
fc062a04a4 Updated the assertion/error to consider PR #6545 2021-01-06 16:23:46 +00:00
filipefurtad0
7f658d4c46 Removed the "_id" ending from objects
Renamed objects ":zone_id" and ":tax_category_id" into ":zone" and ":tax_category," as these are full objects and not just ids.
2021-01-06 16:23:46 +00:00
filipefurtad0
8a453abd26 Adding "frozen_string_literal" back to the file
Mistakenly removed the line "# frozen_string_literal: true". This commit adds it back in.
2021-01-06 16:23:46 +00:00
filipefurtad0
3edf5fd6d9 Extends spec coverage of Tax Rates settings - CRUD operations 2021-01-06 16:23:46 +00:00
Andy Brett
e58cd8a043 overwrite existing field value 2021-01-05 16:01:04 -08:00
Andy Brett
042b4faf1e comment out flaky spec 2021-01-02 14:53:55 -08:00
Andy Brett
fc4634cd67 comment out flaky spec 2020-12-29 19:22:09 -08:00
Andy Brett
92aeab2ec3 Merge pull request #6490 from openfoodfoundation/dependabot/bundler/capybara-3.15.1
Bump capybara from 2.18.0 to 3.15.1
2020-12-12 13:16:04 -08:00