Commit Graph

2189 Commits

Author SHA1 Message Date
Maikel Linke
fc00a48d67 Require associations of CoordinatorFee 2023-06-14 15:08:05 +10:00
Maikel Linke
c02c90317f Require user of column preference record
It doesn't make sense to have a preference without a user. And it was
already enforced in the database.
2023-06-14 15:07:43 +10:00
Maikel Linke
2d4cfd7548 Validate and enforce AdjustmentMetadata associations 2023-06-14 15:07:43 +10:00
Matt-Yorkley
5fa81d1333 Fix invalid test setup in old tax tests 2023-06-13 14:58:16 +01:00
Matt-Yorkley
4e7fab6914 Delete dead code Checkout#find_transition
This method is only called from tests and nowhere else in the codebase. We may as well remove it.
2023-06-13 14:58:16 +01:00
Mohamed ABDELLANI
345f540723 fix spec/models/spree/tax_rate_spec.rb 2023-06-13 14:58:16 +01:00
Mohamed ABDELLANI
bd0e7cdfc8 remove legacy checkout tests 2023-06-13 14:58:16 +01:00
Konrad
48c107bde1 Merge pull request #10974 from cillian/ignore-whitespace-in-product-import
Ignore leading and trailing whitespace when importing products via a spreadsheet
2023-06-12 16:32:15 +02:00
Konrad
d0f4c44add Merge pull request #10938 from jibees/10931-white-label-custom-tab-without-a-title-impossible-to-disable-the-custom-tab
[White Label] Validate the presence of a custom tab title before creating it (+ max 20 characters length)
2023-06-09 19:01:13 +02:00
Cillian O'Ruanaidh
5cde4de512 Ignore leading and trailing whitespace in spreadsheet when importing products 2023-06-09 16:23:18 +01:00
Filipe
ca03e1596b Merge pull request #10952 from Matt-Yorkley/full-name
Improve nil-safety in variant naming methods
2023-06-08 16:26:28 +01:00
Matt-Yorkley
f4261b85b8 Merge pull request #10940 from Matt-Yorkley/order-tidyup
Order class tidyup
2023-06-08 15:06:59 +01:00
Filipe
7974e1eaa6 Merge pull request #10936 from abdellani/fix-order-progressing-automatically-on-BOO
fix Viewing an order in state "confirmation" changes the state to "complete"
2023-06-08 14:50:04 +01:00
Jean-Baptiste Bellet
d1d050e6a4 Limit size to 20 char for the custom tab title 2023-06-08 11:27:07 +02:00
Matt-Yorkley
bed2fe69f6 Update regression tests 2023-06-07 16:39:37 +01:00
Matt-Yorkley
bb73d70e57 Improve nil-safety in variant naming methods 2023-06-07 12:17:50 +01:00
Maikel Linke
1ebacf96ad Ignore accidental spaces around whitelabel URL 2023-06-07 13:12:06 +10:00
Matt-Yorkley
e88843c733 Ensure order number is generated nicely on new records 2023-06-07 00:58:43 +01:00
Matt-Yorkley
17b10d10c0 Make Order #deliver_order_confirmation_email method private 2023-06-05 21:30:43 +01:00
Jean-Baptiste Bellet
5938577bd1 Update custom_tab_spec.rb 2023-06-05 15:43:11 +02:00
Jean-Baptiste Bellet
40111910b6 Validates white_label_logo_link on enterprise model 2023-06-05 11:24:07 +02:00
Matt-Yorkley
a20277c3a7 Completely remove option_values and option_types from the codebase 2023-06-01 10:12:19 +01:00
Matt-Yorkley
3e5ecba738 Remove unhelpful Helper 2023-06-01 10:11:20 +01:00
Jean-Baptiste Bellet
a24604f146 Remove unused enterprise declaration 2023-05-26 10:24:11 +02:00
Jean-Baptiste Bellet
839419791f Create CustomTab model, that belongs to an enterprise 2023-05-25 09:19:51 +02:00
Maikel Linke
90cbac7176 Validate email domains
The gem checks the DNS system for a valid domain entry.
2023-05-23 08:23:58 +02:00
Maikel Linke
ffc45f77cf Validate user email syntax on change
We probably have invalid entries in the database and we don't want these
records to suddenly become invalid. People would not be able to log in.
2023-05-23 08:23:58 +02:00
Maikel Linke
101b9025b4 Spec user email validation
The pending spec addresses:

 * https://github.com/openfoodfoundation/openfoodnetwork/issues/10808
2023-05-23 08:23:58 +02:00
Konrad
fed7c3da51 Merge pull request #10761 from rioug/vouchers-any-amount
[Vouchers] Flat rate of any amount
2023-05-19 17:39:33 +02:00
Filipe
3d1b0816ed Merge pull request #10512 from abdellani/fix-tax-not-charged-when-tax-category-set-to-inherit-from-product
Prevent saving the enterprise fee when a per order calculator is selected along with 'Inherit from product'
2023-05-18 13:43:14 +01:00
David Cook
c0c123a92a Remove localized number logic from weight calculator
Follow-on from a46eef291c
2023-05-17 14:10:58 +02:00
saunmanoj888
aee7645e29 Fix searching issue with full name on bulk order management 2023-05-17 13:14:10 +02:00
Gaetan Craig-Riou
b585f77be4 Make enterprise mandatory for a voucher
It should have already been the case...
2023-05-16 16:20:04 +10:00
Gaetan Craig-Riou
2d8fa24862 Add a voucher factory
As vouchers are getting more complicated, it makes sense to use a
factory to simplify writing test.
2023-05-16 16:20:04 +10:00
Gaetan Craig-Riou
15eee8175e Add amount to voucher
Change value to amount to be more consistent
2023-05-16 16:19:59 +10:00
Gaetan Craig-Riou
d29119f5c5 Remove non need belongs_to associations from Adjustments
It turns out the "tax_rate" association isn't used and wasn't working.
Same for the "voucher" one, which I added to be consistent with existing
code.
Both of these weren't caught by the specs because you can't test associations
with a custome relation with 'shouda-matchers' see: https://github.com/thoughtbot/shoulda-matchers/issues/981
2023-05-15 13:42:40 +10:00
Gaetan Craig-Riou
17e32a89f8 Add VoucherAdjustmentsService to handle calculation
Refactor Voucher to move voucher adjustments calculation
to VoucherAdjustmentsService
2023-05-15 13:42:39 +10:00
Gaetan Craig-Riou
56e981d300 Refactor Voucher to get rid of CalculatedAdjustments
Voucher adjustment have complicated calculation that prevent us from
using Spree::Calculator, and we need to override CalculatedAdjustments
method, so no point using it.
We still keep the same methods to stay as consitent as possible in
regards to adjustments
2023-05-15 13:42:39 +10:00
Gaetan Craig-Riou
43ab881181 Rename order association to voucher_adjustments
The name vouchers is a bit confusing as the order is linked to a
voucher adjutment and not the actual voucher
2023-05-15 13:42:39 +10:00
Gaetan Craig-Riou
4b5d6d7eac Fix voucher adjustments association
Add missing, "inverse_of" and "dependent" options. Use :nullify as
for "dependent" because we would want to keep the adjustments on order
even if the voucher is deleted.
2023-05-15 13:42:38 +10:00
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
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
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