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()