I found an issue with the Loyalty Points quantity cart validation.
My user has 800 points, but I can't change the quantity to 8 in a product where the loyalty points price is 100.
If I have 1 quantity, I can only change it to 7 successfully, if I increase one by one, I can only get it up to 4, if I have 2 quantity, I can only change it to 6, etc. It seems as if the initial point price of the product is being added twice.
See the repro here:
Having a look at the code of the core platform, I found the validation for the orderline increase, that seems to prove my theory:
cart.TotalPoints are being added to the defaultPoint * quantity, which I believe is making the orderline we're changing be counted twice. One as the points it already represents in the Cart and then again as the new quantity * points.