123456789101112131415161718192021222324252627282930313233343536 |
- import shutil
- from pathlib import Path
- import pytest
- import reflex as rx
- def test_asset():
- # Test the asset function.
- # The asset function copies a file to the app's external assets directory.
- asset = rx._x.asset("custom_script.js", "subfolder")
- assert asset == "/external/test_assets/subfolder/custom_script.js"
- result_file = Path(
- Path.cwd(), "assets/external/test_assets/subfolder/custom_script.js"
- )
- assert result_file.exists()
- # Running a second time should not raise an error.
- asset = rx._x.asset("custom_script.js", "subfolder")
- # Test the asset function without a subfolder.
- asset = rx._x.asset("custom_script.js")
- assert asset == "/external/test_assets/custom_script.js"
- result_file = Path(Path.cwd(), "assets/external/test_assets/custom_script.js")
- assert result_file.exists()
- # clean up
- shutil.rmtree(Path.cwd() / "assets/external")
- with pytest.raises(FileNotFoundError):
- asset = rx._x.asset("non_existent_file.js")
- # Nothing is done to assets when file does not exist.
- assert not Path(Path.cwd() / "assets/external").exists()
|