[Erp5-report] r31346 jerome - /erp5/trunk/products/ERP5/tests/testBudget.py

nobody at svn.erp5.org nobody at svn.erp5.org
Wed Dec 16 17:16:48 CET 2009


Author: jerome
Date: Wed Dec 16 17:16:46 2009
New Revision: 31346

URL: http://svn.erp5.org?rev=31346&view=rev
Log:
a few more tests, and some TODO notes

Modified:
    erp5/trunk/products/ERP5/tests/testBudget.py

Modified: erp5/trunk/products/ERP5/tests/testBudget.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/tests/testBudget.py?rev=31346&r1=31345&r2=31346&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testBudget.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testBudget.py [utf8] Wed Dec 16 17:16:46 2009
@@ -33,11 +33,12 @@
 class TestBudget(ERP5TypeTestCase):
 
   def getBusinessTemplateList(self):
-    """
-      Return the list of required business templates.
+    """Return the list of required business templates.
+    We'll use erp5_accounting_ui_test to have some content
     """
     return ('erp5_base', 'erp5_pdm', 'erp5_trade', 'erp5_accounting',
-            'erp5_invoicing', 'erp5_simplified_invoicing', 'erp5_budget')
+            'erp5_invoicing', 'erp5_simplified_invoicing',
+            'erp5_accounting_ui_test', 'erp5_budget')
 
   def test_simple_create_budget_model(self):
     budget_model = self.portal.budget_model_module.newContent(
@@ -47,7 +48,7 @@
                     int_index=1,
                     budget_variation='budget_cell',
                     inventory_axis='node_category',
-                    variation_category='site',
+                    variation_base_category='site',
                     )
     self.assertEquals([], budget_model.checkConsistency())
 
@@ -55,7 +56,58 @@
     budget = self.portal.budget_module.newContent(
                             portal_type='Budget')
     budget_line = budget.newContent(portal_type='Budget Line')
+    budget_cell = budget_line.newContent(portal_type='Budget Cell')
     self.assertEquals([], budget.checkConsistency())
+
+  def test_budget_cell_node_variation_with_aggregate(self):
+    budget_model = self.portal.budget_model_module.newContent(
+                            portal_type='Budget Model')
+    budget_model.newContent(
+                    portal_type='Node Budget Variation',
+                    int_index=1,
+                    budget_variation='budget_cell',
+                    inventory_axis='node',
+                    variation_base_category='source',
+                    aggregate_value_list=(
+                      self.portal.account_module.goods_purchase,
+                      self.portal.account_module.fixed_assets,
+                    ))
+    budget = self.portal.budget_module.newContent(
+                    portal_type='Budget',
+                    specialise_value=budget_model)
+    budget_line = budget.newContent(portal_type='Budget Line')
+    self.assertEquals(['source'],
+                      budget_line.getVariationBaseCategoryList())
+    self.assertEquals(
+        [('Goods Purchase', 'source/account_module/goods_purchase'),
+         ('Fixed Assets', 'source/account_module/fixed_assets')],
+        budget_line.BudgetLine_getVariationRangeCategoryList())
+
+    budget_line.setVariationCategoryList(
+         ('source/account_module/goods_purchase',))
+    self.assertEquals(
+        ['source/account_module/goods_purchase'],
+        budget_line.getVariationCategoryList())
+  
+    # This was a budget cell variation, so no criterion is set on budget line
+    self.assertEquals(budget_line.getMembershipCriterionCategoryList(), [])
+    self.assertEquals(
+        budget_line.getMembershipCriterionBaseCategoryList(), [])
+
+    # TODO: create cells and test variation on cell
+  
+  # Other TODOs
+  # test simple category variation in getInventory
+   
+  # test that using a category variation on budget level sets membership
+  # criterion on budget
+
+  # test that using a variation on budget line level sets membership
+  # criterion on budget line (and budget cell or not ?)
+
+
+  # test that using a category variation on budget level is used in inventory
+  # calculation 
 
 
 def test_suite():




More information about the Erp5-report mailing list