Maikel Linke
6317fe1b71
Disable RSpec monkey patching
2024-05-09 12:24:41 +10:00
Neal Chambers
35e8f88943
Fix Style/HashSyntax
2023-09-24 22:41:27 +09:00
Gaetan Craig-Riou
b955e0b25d
Use depedend: nil on adjustment association
...
We want to keep the voucher adjustment associated with the Voucher
event when the voucher as been soft deleted, as we use this
functionality as activate/deactivate feature
2023-09-07 13:58:07 +02:00
Gaetan Craig-Riou
2828bd098d
Refactor VoucherAdjustment service
...
We are taking advantage of having a FlatRate and a PercentageRate
model to simplify the code a little
2023-08-11 15:41:34 +10:00
Gaetan Craig-Riou
204f3933d0
Refactor voucher: 1 base voucher class
...
Refactor voucher to use a single table inheritance. It will simplify the
code and remove a bunch of conditional
2023-08-11 14:54:23 +10:00
Gaetan Craig-Riou
cdb33aa0d0
Add calculation for percentage voucher
...
It include calculation for order with taxes included in the price
2023-08-11 14:30:48 +10:00
Gaetan Craig-Riou
619285ad4a
Add voucher_type to voucher
...
And update related specs
voucher_type doesn't do anything for now.
2023-08-11 14:19:25 +10:00
Konrad
f59e681826
Merge pull request #11259 from cillian/single-line-voucher-code
...
Don't allow multi-line voucher codes
2023-08-10 23:09:55 +02:00
Cillian O'Ruanaidh
d026438edc
Revert "Validate voucher code length doesn't exceed the database column length i.e. 255 characters"
...
This reverts commit 0d0df82522 .
2023-08-04 10:24:21 +01:00
Cillian O'Ruanaidh
9eba266efc
Strip leading and trailing whitespace from code on assignment instead of before validation
...
Co-authored-by: Maikel <maikel@email.org.au >
2023-08-04 10:15:22 +01:00
Cillian O'Ruanaidh
ab0d899a17
Revert "Validate voucher code doesn't contain new line characters"
...
This reverts commit 0c0b85f4c4 .
2023-08-04 10:04:14 +01:00
Cillian O'Ruanaidh
0c0b85f4c4
Validate voucher code doesn't contain new line characters
2023-07-21 12:32:36 +01:00
Cillian O'Ruanaidh
0d0df82522
Validate voucher code length doesn't exceed the database column length i.e. 255 characters
2023-07-21 12:32:36 +01:00
Cillian O'Ruanaidh
5d66c8a578
Strip leading and trailing whitespace from voucher codes before validation
2023-07-21 12:32:36 +01:00
Gaetan Craig-Riou
60c0c54eb2
Update create_adjustment to create with an amount of 0
...
Amount calculation is handled by VoucherAdjustmentService.calculate
2023-07-14 14:47:03 +10:00
Matt-Yorkley
1a744de37a
Improve voucher #calculate tests
2023-06-14 10:19:30 +01: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
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
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
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
a48fd0828c
Add Voucher model
...
A voucher belongs to an enterprise and an enterprise can have many
vouchers
2023-03-28 13:39:29 +11:00