asmitha
Polish subscription intelligence portfolio project
fed039b
Raw
History Blame Contribute Delete
814 Bytes
import os
import sys
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "src"))
from ingestion import generate_data
def test_generate_events_honors_requested_record_count():
generate_data.reset_seed(42)
tenants = generate_data.generate_tenants(25)
events = generate_data.generate_events(tenants, total_records=1000)
assert len(events) == 1000
def test_synthetic_churn_mix_stays_demo_realistic():
generate_data.reset_seed(42)
tenants = generate_data.generate_tenants(50)
events = generate_data.generate_events(tenants, total_records=5000)
cancellations = [
event for event in events
if event["event_type"] == "subscription_cancelled"
]
churn_event_ratio = len(cancellations) / len(events)
assert 0.005 <= churn_event_ratio <= 0.05