123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- from typing import Any
- from reflex import event
- from reflex.components.core.upload import (
- StyledUpload,
- Upload,
- UploadNamespace,
- _on_drop_spec, # pyright: ignore [reportAttributeAccessIssue]
- cancel_upload,
- get_upload_url,
- )
- from reflex.event import EventSpec
- from reflex.state import State
- from reflex.vars.base import LiteralVar, Var
- class UploadStateTest(State):
- """Test upload state."""
- @event
- def drop_handler(self, files: Any):
- """Handle the drop event.
- Args:
- files: The files dropped.
- """
- pass
- @event
- def not_drop_handler(self, not_files: Any):
- """Handle the drop event without defining the files argument.
- Args:
- not_files: The files dropped.
- """
- pass
- def test_cancel_upload():
- spec = cancel_upload("foo_id")
- assert isinstance(spec, EventSpec)
- def test_get_upload_url():
- url = get_upload_url("foo_file")
- assert isinstance(url, Var)
- def test__on_drop_spec():
- assert isinstance(_on_drop_spec(LiteralVar.create([])), tuple)
- def test_upload_create():
- up_comp_1 = Upload.create()
- assert isinstance(up_comp_1, Upload)
- assert up_comp_1.is_used
- # reset is_used
- Upload.is_used = False
- up_comp_2 = Upload.create(
- id="foo_id",
- on_drop=UploadStateTest.drop_handler([]),
- )
- assert isinstance(up_comp_2, Upload)
- assert up_comp_2.is_used
- # reset is_used
- Upload.is_used = False
- up_comp_3 = Upload.create(
- id="foo_id",
- on_drop=UploadStateTest.drop_handler,
- )
- assert isinstance(up_comp_3, Upload)
- assert up_comp_3.is_used
- # reset is_used
- Upload.is_used = False
- up_comp_4 = Upload.create(
- id="foo_id",
- on_drop=UploadStateTest.not_drop_handler([]),
- )
- assert isinstance(up_comp_4, Upload)
- assert up_comp_4.is_used
- def test_styled_upload_create():
- styled_up_comp_1 = StyledUpload.create()
- assert isinstance(styled_up_comp_1, StyledUpload)
- assert styled_up_comp_1.is_used
- # reset is_used
- StyledUpload.is_used = False
- styled_up_comp_2 = StyledUpload.create(
- id="foo_id",
- on_drop=UploadStateTest.drop_handler([]),
- )
- assert isinstance(styled_up_comp_2, StyledUpload)
- assert styled_up_comp_2.is_used
- # reset is_used
- StyledUpload.is_used = False
- styled_up_comp_3 = StyledUpload.create(
- id="foo_id",
- on_drop=UploadStateTest.drop_handler,
- )
- assert isinstance(styled_up_comp_3, StyledUpload)
- assert styled_up_comp_3.is_used
- # reset is_used
- StyledUpload.is_used = False
- styled_up_comp_4 = StyledUpload.create(
- id="foo_id",
- on_drop=UploadStateTest.not_drop_handler([]),
- )
- assert isinstance(styled_up_comp_4, StyledUpload)
- assert styled_up_comp_4.is_used
- def test_upload_namespace():
- up_ns = UploadNamespace()
- assert isinstance(up_ns, UploadNamespace)
- assert isinstance(up_ns(id="foo_id"), StyledUpload)
- assert isinstance(up_ns.root(id="foo_id"), Upload)
|