| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import unittest
- from app.services.oa_money_field import validate_money_form_values
- class TestValidateMoneyFormValues(unittest.TestCase):
- def test_ok_number(self):
- schema = {"rule": [{"type": "money", "field": "amt", "title": "金额", "$required": True}]}
- self.assertEqual(validate_money_form_values(schema, {"amt": 1234.56}), [])
- def test_ok_int(self):
- schema = {"rule": [{"type": "money", "field": "amt"}]}
- self.assertEqual(validate_money_form_values(schema, {"amt": 10}), [])
- def test_ok_null_optional(self):
- schema = {"rule": [{"type": "money", "field": "amt", "$required": False}]}
- self.assertEqual(validate_money_form_values(schema, {"amt": None}), [])
- self.assertEqual(validate_money_form_values(schema, {}), [])
- def test_required_missing(self):
- schema = {
- "rule": [{"type": "money", "field": "amt", "title": "报销金额", "$required": True}]
- }
- errs = validate_money_form_values(schema, {})
- self.assertTrue(any("报销金额" in e for e in errs))
- def test_negative_rejected(self):
- schema = {"rule": [{"type": "money", "field": "amt"}]}
- errs = validate_money_form_values(schema, {"amt": -1})
- self.assertTrue(len(errs) >= 1)
- def test_string_number_accepted(self):
- schema = {"rule": [{"type": "money", "field": "amt"}]}
- self.assertEqual(validate_money_form_values(schema, {"amt": "12.5"}), [])
- def test_bool_rejected(self):
- schema = {"rule": [{"type": "money", "field": "amt"}]}
- errs = validate_money_form_values(schema, {"amt": True})
- self.assertTrue(len(errs) >= 1)
- def test_ignore_other_types(self):
- schema = {"rule": [{"type": "input", "field": "x", "$required": True}]}
- self.assertEqual(validate_money_form_values(schema, {}), [])
- if __name__ == "__main__":
- unittest.main()
|