52 lines
1.7 KiB
Python
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() |