31 lines
991 B
Python
31 lines
991 B
Python
import os
|
|
import sys
|
|
from unittest.mock import patch
|
|
|
|
from streamlit.testing.v1 import AppTest
|
|
|
|
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "..")))
|
|
|
|
os.environ["PROJECT_ID"] = "test-project"
|
|
os.environ["LOCATION"] = "us-central1"
|
|
os.environ["BUCKET"] = "test-bucket"
|
|
|
|
|
|
@patch("vertexai.preview.prompts.list_versions")
|
|
@patch("src.gcp_prompt.GcpPrompt")
|
|
@patch("google.cloud.storage.Client")
|
|
@patch("vertexai.init")
|
|
def test_evaluation_load_prompt(mock_init, mock_storage, mock_gcp_prompt, mock_prompts):
|
|
# Setup mock behavior
|
|
mock_instance = mock_gcp_prompt.return_value
|
|
mock_instance.existing_prompts = {"test_prompt": "123"}
|
|
|
|
at = AppTest.from_file("pages/3_Evaluation.py")
|
|
at.run(timeout=30)
|
|
|
|
# Verify the warning is triggered
|
|
at.button(key="load_prompt_button").click().run(timeout=30)
|
|
|
|
warnings = [w.value for w in getattr(at, "warning", [])]
|
|
assert any("Please select a prompt before loading." in w for w in warnings)
|