def test_validate_request_fields_decimal_max(): details = {'amount': Decimal('200.00')} try: conversions.validate_request_fields(details) except ValueError as error: assert str(error) == "amount field value too large." else: assert False
def test_validate_request_fields_string_min(): details = {'cc_cvv': '12'} try: conversions.validate_request_fields(details) except ValueError as error: assert str(error) == "cc_cvv field length too short." else: assert False
def test_validate_request_fields_invalid_field_name(): details = {'invalid': 'field'} try: conversions.validate_request_fields(details) except KeyError: assert True else: assert False
def test_validate_request_fields_integer_max(): details = {'product_id': 101} try: conversions.validate_request_fields(details) except ValueError as error: assert str(error) == "product_id field value too large." else: assert False
def test__validate_request_fields__decimal_max(): """Confirms handling of decimal minimum value validation.""" details = {'amount': Decimal('200.00')} try: conversions.validate_request_fields(details) except ValueError as error: assert str(error) == "amount field value too large." else: assert False
def test__validate_request_fields__integer_max(): """Confirms handling of integer maximum value validation.""" details = {'product_id': 101} try: conversions.validate_request_fields(details) except ValueError as error: assert str(error) == "product_id field value too large." else: assert False
def test__validate_request_fields__invalid_field_name(): """Confirms handling when an invalid field name provide.""" details = {'invalid': 'field'} try: conversions.validate_request_fields(details) except KeyError: assert True else: assert False
def test__validate_request_fields__string_max_invalid(): """Confirms handling of string maximum length validation.""" details = {'cc_cvv': '12345'} try: conversions.validate_request_fields(details) except ValueError as error: assert str(error) == "cc_cvv field length too long." else: assert False
def test__validate_request_fields__invalid_field_type(): """Tests that error is generated if invalid field type is passed.""" details = {'invalid': 'field'} try: conversions.validate_request_fields(details) except UnboundLocalError as error: assert str(error) == ( "local variable 'cleaned_value' referenced before assignment") else: assert False
def test_validate_request_fields_integer_valid(): details = {'product_id': 100} cleaned = conversions.validate_request_fields(details) assert 'product_id' in cleaned assert cleaned['product_id'] == details['product_id']
def test_validate_request_fields_string_valid(): details = {'cc_cvv': '123'} cleaned = conversions.validate_request_fields(details) assert 'cc_cvv' in cleaned assert cleaned['cc_cvv'] == details['cc_cvv']
def test_validate_request_fields_boolean_false(): details = {'test': False} cleaned = conversions.validate_request_fields(details) assert 'test' in cleaned assert cleaned['test'] == 0
def test_validate_request_fields_decimal_valid(): details = {'amount': Decimal('50.00')} cleaned = conversions.validate_request_fields(details) assert 'amount' in cleaned assert cleaned['amount'] == details['amount']
def test__validate_request_fields__boolean_false(): """Confirms handling of False boolean request field.""" details = {'test': False} cleaned = conversions.validate_request_fields(details) assert 'test' in cleaned assert cleaned['test'] == 0
def test__validate_request_fields__decimal_valid(): """Confirms handling of decimal request field.""" details = {'amount': Decimal('50.00')} cleaned = conversions.validate_request_fields(details) assert 'amount' in cleaned assert cleaned['amount'] == details['amount']
def test__validate_request_fields__integer_valid(): """Confirms handling of integer request field.""" details = {'product_id': 100} cleaned = conversions.validate_request_fields(details) assert 'product_id' in cleaned assert cleaned['product_id'] == details['product_id']
def test__validate_request_fields__string_valid(): """Confirms handling of string request field.""" details = {'cc_cvv': '123'} cleaned = conversions.validate_request_fields(details) assert 'cc_cvv' in cleaned assert cleaned['cc_cvv'] == details['cc_cvv']
def test__validate_request_fields__all_valid(): """Tests that validations works for all fields at once.""" details = { 'cc_cvv': '123', 'product_id': 100, 'amount': Decimal('50.00'), 'test': True, } cleaned = conversions.validate_request_fields(details) assert 'cc_cvv' in cleaned assert cleaned['cc_cvv'] == details['cc_cvv'] assert 'product_id' in cleaned assert cleaned['product_id'] == details['product_id'] assert 'amount' in cleaned assert cleaned['amount'] == details['amount'] assert 'test' in cleaned assert cleaned['test'] == 1
def validate_fields(self): """Validates Helcim API request fields and coerces values.""" self.cleaned = conversions.validate_request_fields(self.details)