import pytest from src.ingestion.cbsl_parser import CBSLParser def test_parse_prices_basic(): parser = CBSLParser() mock_text = """ Market Analysis Report Samba Rice: 210.00 per kg Kekulu Rice: 195.50 Big Onion (Local): 350.00 Potato: 150.00, 160.00 Random Item: 50.00 """ results = parser.parse_prices(mock_text) commodities = [r["Commodity"] for r in results] assert "Samba" in commodities assert "Kekulu" in commodities assert "Big Onion" in commodities assert "Potato" in commodities assert "Random Item" not in commodities def test_parse_prices_no_match(): parser = CBSLParser() mock_text = "No data here" results = parser.parse_prices(mock_text) assert len(results) == 0 def test_parse_prices_numeric_extraction(): parser = CBSLParser() mock_text = "Samba: 2,150.75" results = parser.parse_prices(mock_text) assert results[0]["Extracted_Prices"][0] == "2,150.75"