test_types.py 673 B

1234567891011121314151617181920212223
  1. from typing import Literal
  2. import pytest
  3. from reflex.utils import types
  4. @pytest.mark.parametrize(
  5. "params, allowed_value_str, value_str",
  6. [
  7. (["size", 1, Literal["1", "2", "3"], "Heading"], "'1','2','3'", "1"),
  8. (["size", "1", Literal[1, 2, 3], "Heading"], "1,2,3", "'1'"),
  9. ],
  10. )
  11. def test_validate_literal_error_msg(params, allowed_value_str, value_str):
  12. with pytest.raises(ValueError) as err:
  13. types.validate_literal(*params)
  14. assert (
  15. err.value.args[0] == f"prop value for {str(params[0])} of the `{params[-1]}` "
  16. f"component should be one of the following: {allowed_value_str}. Got {value_str} instead"
  17. )