Fixed broken tests
Simplified checkout validation code
More tests on checkout edge cases