38086-vm/test_pos_render.py
2026-02-13 03:03:06 +00:00

52 lines
1.7 KiB
Python

import os
import django
from django.conf import settings
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')
django.setup()
from django.template.loader import render_to_string
from django.test import RequestFactory
from core.models import Product, SystemSetting, Category, PaymentMethod
def test_pos_render():
factory = RequestFactory()
request = factory.get('/pos/')
s_settings = SystemSetting.objects.first()
products = Product.objects.filter(is_active=True)
categories = Category.objects.all()
payment_methods = PaymentMethod.objects.all()
context = {
'products': products,
'customers': [],
'categories': categories,
'payment_methods': payment_methods,
'settings': s_settings,
'site_settings': s_settings,
'active_session': None,
'LANGUAGE_CODE': 'en'
}
rendered = render_to_string('core/pos.html', context, request=request)
print(f"Total Products Checked: {products.count()}")
# Check for image URLs
for product in products:
if product.image:
url = product.image.url
if url in rendered:
print(f"Product {product.name_en} image URL FOUND: {url}")
else:
# Check for escaped URL
from django.utils.html import escape
if escape(url) in rendered:
print(f"Product {product.name_en} image URL FOUND (escaped): {escape(url)}")
else:
print(f"Product {product.name_en} image URL MISSING: {url}")
else:
print(f"Product {product.name_en} has no image in DB")
if __name__ == "__main__":
test_pos_render()