Files
igny8/backend/test_writer_generate_content.py
IGNY8 VPS (Salman) 94a8aee0e2 ai fixes
2025-11-26 19:14:30 +00:00

95 lines
2.7 KiB
Python

#!/usr/bin/env python
"""Test generate_content for Writer tasks"""
import os
import sys
import django
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'igny8_core.settings')
django.setup()
from django.contrib.auth import get_user_model
from igny8_core.business.content.models import Tasks
from igny8_core.business.content.services.content_generation_service import ContentGenerationService
print("=" * 80)
print("TESTING WRITER GENERATE_CONTENT")
print("=" * 80)
User = get_user_model()
user = User.objects.filter(email='dev@igny8.com').first()
if not user:
print("❌ User not found")
sys.exit(1)
account = user.account if hasattr(user, 'account') else None
if not account:
print("❌ No account found for user")
sys.exit(1)
print(f"✓ User: {user.email}")
print(f"✓ Account: {account.id}")
# Get tasks
tasks = Tasks.objects.filter(account=account, status='queued')[:5]
print(f"\n✓ Found {tasks.count()} queued tasks")
if tasks.exists():
task = tasks.first()
print(f"\nTesting with task:")
print(f" - ID: {task.id}")
print(f" - Title: {task.title}")
print(f" - Status: {task.status}")
print(f" - Cluster: {task.cluster.name if task.cluster else 'None'}")
print("\nCalling generate_content service...")
service = ContentGenerationService()
try:
result = service.generate_content([task.id], account)
print(f"\n✓ SUCCESS!")
print(f"Result: {result}")
except Exception as e:
print(f"\n❌ ERROR: {e}")
import traceback
traceback.print_exc()
else:
print("\n⚠️ No queued tasks found. Creating a test task...")
from igny8_core.modules.planner.models import Clusters
cluster = Clusters.objects.filter(account=account).first()
if not cluster:
print("❌ No clusters found. Cannot create test task.")
sys.exit(1)
task = Tasks.objects.create(
account=account,
site=cluster.site,
sector=cluster.sector,
cluster=cluster,
title="Test Article: Benefits of Organic Cotton Bedding",
description="Comprehensive guide covering health benefits, environmental impact, and buying guide",
content_type='post',
content_structure='article',
status='queued'
)
print(f"✓ Created test task: {task.id} - {task.title}")
print("\nCalling generate_content service...")
service = ContentGenerationService()
try:
result = service.generate_content([task.id], account)
print(f"\n✓ SUCCESS!")
print(f"Result: {result}")
except Exception as e:
print(f"\n❌ ERROR: {e}")
import traceback
traceback.print_exc()
print("\n" + "=" * 80)
print("TEST COMPLETE")
print("=" * 80)