Files
2026-07-13 13:30:30 +08:00

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)