* fix(purchasing): more number validation * test(purchasing): add error cases Also refactor NaN check and create client mixin * fix(purchasing): cover "purchase" cases