Gaetan Craig-Riou
58469adfeb
Adjustments spec, add association test
2023-05-15 13:42:38 +10:00
Gaetan Craig-Riou
9789911523
Rework how voucher are applied to an order and handle tax calculation
...
At the time when we can apply a voucher to an order (payment step) we
don't have any data on possible taxes and payment fees. These are
calculated when we move to the summary step. So voucher are applied in
two step:
- create an "open" voucher adjustment on the order when a customer enters
a voucher code.
- when we move to the summary step, recalulate the amount and
possible tax for the voucher adjustment, once taxes and payment fees
have been included in the order. And then close the original and update
order to reflect the changes
2023-05-15 13:42:38 +10:00
Gaetan Craig-Riou
d157d91054
When voucher cover more than order total, use only amount needed
...
The checkout payment step will also show a warning.
The amount used is stored in the adjustment created, so we will be able
to track how much has been used down the line.
2023-05-15 13:42:38 +10:00
Gaetan Craig-Riou
3f609d3842
Add error message if adding a voucher fails
...
It's not really useful to the user but better than failing silently
2023-05-15 13:42:38 +10:00
Gaetan Craig-Riou
596c775af6
Add controller spec to cover voucher in split checkout
2023-05-15 13:42:38 +10:00
Gaetan Craig-Riou
74a8730f04
Highlight voucher on order summary step
2023-05-15 13:42:38 +10:00
Gaetan Craig-Riou
e487ed0532
Add link to remove voucher when a voucher has been applied
...
Improve styling to match the design
2023-05-15 13:42:37 +10:00
Gaetan Craig-Riou
a9d9b33f7d
First take at adding a voucher to an order
...
Use voucher.create_adjustment to add an adjustment to the order
Currently doesn't take into account tax part
2023-05-15 13:42:37 +10:00
Gaetan Craig-Riou
3ec58d8791
Add #vouchers, return an array of voucher adjustments
2023-05-15 13:42:37 +10:00
Gaetan Craig-Riou
9b680e1a92
Add CalculatedAdjustments to Voucher
...
Vouchers are only flat rate of 10 for now, so we add a FlatRate
calculator in a before_validation callback
2023-05-15 13:42:37 +10:00
Gaetan Craig-Riou
f7ee01b9f8
Add voucher input on checkout payment's step
...
Voucher input is displayed only if the distributor has any voucher
2023-05-15 13:42:37 +10:00
Maikel
4f7059d0c7
Merge pull request #10838 from filipefurtad0/fix_negative_adjustment_error
...
Adds minus sign to validation criteria
2023-05-15 11:07:45 +10:00
Gaetan Craig-Riou
d715b6b3bb
Spec fix LocalisedNumber validation to allow negative number
...
As part of this PR https://github.com/openfoodfoundation/openfoodnetwork/pull/10329
LocalisedNumber validation was tightened, but that means negative number
were not valid anymore.
This commit has been cherry-picked after this fix has already been
applied. Now we just change the order of characters in the regex because
humans are used to reading the minus at the beginning of the number. But
this change doesn't change the logic at all.
2023-05-15 10:55:59 +10:00
filipefurtad0
0442f2da7e
Fixes spec warning
...
An example was being ignored due to legacy syntax - WARNING: ignoring the provided expectation message argument since it is not a string or a proc.
2023-05-14 23:02:44 +01:00
filipefurtad0
e7ab839fb3
Adds minus sign as validation criteria
...
Removes pending from passing examples
2023-05-14 23:02:44 +01:00
filipefurtad0
596b318778
Adds spec on negative adjustment
...
with different localization settings
Using shared examples and setting failing
ones as pending
2023-05-14 23:02:00 +01:00
Maikel Linke
6596225a99
Fix typo in VCR cassette name
2023-05-12 14:48:00 +10:00
Maikel Linke
87c4c5373b
Spec more variant naming with realistic data
2023-05-12 14:10:54 +10:00
Maikel Linke
f70607259a
Spec Variant#product_and_full_name with real data
...
Mocking skips a lot of code execution which we want to test as well.
2023-05-12 13:34:34 +10:00
Maikel Linke
ce180caad9
Test with in-memory data when possible
...
This should speed up specs but I observed only one second less run time.
2023-05-12 13:21:58 +10:00
Maikel Linke
01be934caf
Reduce spec run time by not creating unused subject
...
The `variant` instance isn't used in all specs and doesn't need to be
created every time. This reduced run time from 1min5sec to 43sec on my
machine.
2023-05-12 13:21:58 +10:00
Maikel Linke
54c6559b97
Move Spree::Variant spec out of Spree module
...
I also discovered that some specs were just in the Spee module and not
within the `describe Variant` block. I moved them inside the block.
2023-05-12 13:21:19 +10:00
Jean-Baptiste Bellet
f679d8733e
Pass the restock_items params to each methods and request call
...
+ update spec to test whether the restock item checkbox is checked or not.
2023-05-11 22:58:44 +02:00
Mohamed ABDELLANI
6771d2e7be
test enterprise fees creation with tax category inheritance flag
2023-05-11 12:46:17 +01:00
Maikel Linke
25b7f1749c
Simplify error when tax rate can't be inherited
...
I changed the text to focus on the resolution: the user needs to choose
a tax category or a different calculator.
I associated the error to the model to prevent the attribute name from
being included in the error message. Alternatively, we could have
changed the name of the attribute to match the UI. But this error
affects the combination of two attributes, none of them is invalid on
its own.
I'm using Rails' default lazy lookup for error messages which results in
shorter code and a standard structure.
I also added a simple spec.
2023-05-11 12:46:17 +01:00
Mohamed ABDELLANI
89eb3a1967
fix existing tests
2023-05-11 12:46:17 +01:00
filipefurtad0
f5eb72c804
Adds sleep(1)
2023-05-11 11:29:24 +01:00
Konrad
2836751698
Merge pull request #10805 from jibees/10717-bo-orders-changing-customer-does-not-update-customer_id
...
Admin, Edit customer details for an order: when changing to another customer, update `customer_id` as well
2023-05-10 19:08:57 +02:00
filipefurtad0
82f307ae61
Adds test case for logging out
2023-05-10 10:41:43 +01:00
Maikel Linke
5187201796
Add DFC vocabularies
...
- Add a script for downloading updated files.
- Add a service for easier loading of vocab files.
2023-05-09 16:51:25 +10:00
Matt-Yorkley
4b707b9310
Extract locale file digest logic to a separate class and add tests
2023-05-08 14:09:00 +01:00
Konrad
4303cabe56
Merge pull request #10792 from mkllnk/feature-deletion
...
Remove unknown (deleted) feature toggles at boot
2023-05-08 14:49:42 +02:00
Maikel Linke
2a943ecafb
Spec setting up all feature toggle names
2023-05-05 11:09:10 +10:00
Jean-Baptiste Bellet
3a1579104f
Submit customer_id as params when updating customer details on order
2023-05-04 16:40:58 +02:00
Konrad
4b6ef7796e
Merge pull request #10762 from mkllnk/report-encoding
...
Preserve encoding of stored reports
2023-05-03 17:08:44 +02:00
Konrad
b60a6fbd05
Merge pull request #10329 from thejwuscript/9861-improve-input-validation
...
Improve input validation on new and edit Payment Method pages
2023-05-03 16:11:21 +02:00
Maikel Linke
b30e962cdd
Remove unknown (deleted) feature toggles at boot
2023-05-03 15:20:26 +10:00
Maikel Linke
5f1f717974
Spec FeatureToggle.setup!
2023-05-03 15:02:08 +10:00
Maikel Linke
b6f2fe0e92
Avoid defining modules in specs
...
We avoid some indent and show how code outside of the module works.
2023-05-03 14:58:59 +10:00
Gaetan Craig-Riou
d1f7cc1b2a
Merge pull request #10764 from Matt-Yorkley/remove-data-hooks
...
Remove `data-hook` attributes
2023-05-02 16:35:46 +10:00
Maikel
482d438ec9
Merge pull request #10766 from filipefurtad0/remove_asertion_on_js_element_loading_orders
...
Removes assertions on transient JS element - "Loading orders"
2023-05-01 13:36:44 +10:00
Konrad
1176ea2a5f
Merge pull request #9941 from basilawwad/conditionally-send-cancellation-email
...
Conditionally send cancellation email when cancelling order.
2023-04-28 21:54:42 +02:00
Matt-Yorkley
b9431cd121
Remove data-hook attributes
2023-04-28 13:03:13 +01:00
filipefurtad0
74d18fb6ff
Removes assertions on transient JS element
2023-04-28 12:48:59 +01:00
Maikel Linke
630169f8bb
Preserve encoding of stored reports
...
Active Storage reads stored strings as ASCII and that can clash with
Rails' default UTF-8 encoding when special characters are present.
2023-04-28 16:38:06 +10:00
Gaetan Craig-Riou
152af5e105
Merge pull request #10751 from mkllnk/mail-config
...
Remove unused feature to intercept emails
2023-04-28 16:28:41 +10:00
David Cook
918425fd93
Remove customised error message
...
We're now handling these values on the frontend, so can keep this simple.
fixes up:
Add numericality validation for *
Add translation for Active Record error message
2023-04-28 14:02:12 +10:00
David Cook
a46eef291c
Remove localized number logic from calculators
...
The browser is now responsible for dealing with the decimal separator, for all numeric preferences (as input[type=number]; see Spree::Admin::BaseHelper::preference_field_tag). Calculators are the only place that numeric preferences are used.
It will enforce that only one comma or dot (depending on user's locale) is entered, thus avoiding any ambiguity, and mis-interpretation (eg 100,001 could be interpreted as more than 100 thousand or 100 with a decimal place).
2023-04-28 13:54:16 +10:00
Jean-Baptiste Bellet
b1de28eeea
When there is a white_label_logo_link pref. use it!
...
+ update spec as well
+ use an an helper to get the main logo link for a shopfront
Co-Authored-By: Maikel <maikel@email.org.au >
2023-04-26 11:04:47 +02:00
Jean-Baptiste Bellet
35778ecf1d
If enterprise has a white_label_logo attached, then can edit its link
2023-04-26 11:04:47 +02:00