From 1d749ac3f5ec6bb4ecaacf120cb4bbf22835428f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com>
Date: Wed, 12 Sep 2007 17:27:07 +0000
Subject: [PATCH] use the opportunity that this test installs all business
 template to check that all proxy fields have valid references.

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@16320 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/ERP5/tests/testXHTML.py | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/product/ERP5/tests/testXHTML.py b/product/ERP5/tests/testXHTML.py
index 48b6a9066e..7912f641cd 100644
--- a/product/ERP5/tests/testXHTML.py
+++ b/product/ERP5/tests/testXHTML.py
@@ -111,7 +111,7 @@ class TestXHTML(ERP5TypeTestCase):
     self.login()
     self.enableDefaultSitePreference()
 
-  def login(self, quiet=0, run=run_all_test):
+  def login(self):
     uf = self.getPortal().acl_users
     uf._doAddUser('seb', '', ['Manager'], [])
     uf._doAddUser('ERP5TypeTestCase', '', ['Manager'], [])
@@ -124,6 +124,18 @@ class TestXHTML(ERP5TypeTestCase):
     default_site_preference = portal_preferences.default_site_preference
     portal_workflow.doActionFor(default_site_preference, 'enable_action')
 
+  def test_deadProxyFields(self):
+    # check that all proxy fields defined in business templates have a valid
+    # target
+    skins_tool = self.portal.portal_skins
+    for field_path, field in skins_tool.ZopeFind(
+              skins_tool, obj_metatypes=['ProxyField'], search_sub=1):
+      self.assertNotEqual(None, field.getRecursiveTemplateField(),
+          '%s\nform_id:%s\nfield_id:%s\n' % (field_path,
+                                             field.get_value('form_id'),
+                                             field.get_value('field_id')))
+
+
 
 def validate_xhtml(source):
   import popen2
-- 
2.30.9