#!/usr/bin/env python3 """ Test script for validating review detection on search results pages. Tests the check_reviews_available() function locally. """ import sys import logging from modules.fast_scraper import check_reviews_available # Setup logging to see all debug info logging.basicConfig( level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s' ) def test_validation(search_query: str): """Test validation for a search query.""" # Convert search query to Google Maps search URL url = f"https://www.google.com/maps/search/?api=1&query={search_query.replace(' ', '+')}" print(f"\n{'='*80}") print(f"Testing validation for: {search_query}") print(f"URL: {url}") print(f"{'='*80}\n") # Run the check result = check_reviews_available(url, headless=False) # Display results print(f"\n{'='*80}") print(f"RESULTS:") print(f"{'='*80}") print(f"Success: {result['success']}") print(f"Has Reviews: {result['has_reviews']}") print(f"Review Count: {result['review_count']}") print(f"Business Name: {result['business_name']}") if result.get('error'): print(f"Error: {result['error']}") print(f"{'='*80}\n") return result if __name__ == "__main__": # Test with the problematic search query test_cases = [ "soho vilnius club", "google dublin office", # Known business with many reviews ] for query in test_cases: result = test_validation(query) # Pause between tests if query != test_cases[-1]: input("\nPress Enter to continue to next test...")