Spaces:
Sleeping
Sleeping
| import pytest | |
| import pandas as pd | |
| from src.database import fetch_and_merge_training_data | |
| def test_rating_conversion_logic(): | |
| """Verify star ratings (1-5) convert to symmetric weights (-2.0 to 2.0).""" | |
| # Local helper mirroring the internal database logic | |
| def convert(r): | |
| mapping = {5: 2.0, 4: 1.0, 3: 0.1, 2: -1.0, 1: -2.0} | |
| return mapping.get(r, 0.1) | |
| assert convert(5) == 2.0 # High preference | |
| assert convert(1) == -2.0 # High dislike | |
| assert convert(3) == 0.1 # Neutral | |
| def test_empty_dataframe_handling(): | |
| """Ensure the system doesn't crash if Supabase returns no data.""" | |
| from src.database import fetch_shoes_by_type | |
| # This test confirms that our error handling returns an empty DF instead of None | |
| df = fetch_shoes_by_type("non_existent_type") | |
| assert isinstance(df, pd.DataFrame) | |
| assert df.empty |