-
Notifications
You must be signed in to change notification settings - Fork 80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
checkout: Allow fully discounted carts to be placed. #198
Conversation
Before, payment was always required even if the grand total of a cart was zero. Now, when no payment is required the order is being placed without payment processing. In the checkoutform, no payment selection is set in this case.
Would be nice to start with some tests for the checkoutcontroller. |
If we start this we should do black box functional test and avoid mocking all dependencies of the controller imho. |
@danielpoe is the in memory cart intended to be used in a production shop? I added a 100% discount voucher to be able to test our changes here.. would duplicate the in memory adapter to the integration test project if needed.. |
Its not ready yet but I think we should have this in mind:
|
…g payment. Add additional check for zero cart to review step.
Okay for the first step we'll add the possibility of the cartVoucherCodeEvaluation to the in memory behaviour. For supporting redis cart storage I'll add an issue (see #199). Currently we are also facing float rounding issues so cart.GrandTotal().IsZero() doesn't work always. See randomly failing tests. |
@danielpoe we added a GiftCardHandler and VoucherHandler interface so that we are able to use the InMemory Cart with project / test specific voucher / gift card handling. You may have a look :) |
Awesome :-) |
Thanks for contributing :) Only left some minor feedback |
Before, payment was always required even if the grand total of a cart was zero.
Now, when no payment is required the order is being placed without payment processing.
In the checkoutform, no payment selection is set in this case.