[Erp5-report] r37244 jerome - /erp5/trunk/products/ERP5/tests/testBudget.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Thu Jul 22 16:08:03 CEST 2010
Author: jerome
Date: Thu Jul 22 16:08:03 2010
New Revision: 37244
URL: http://svn.erp5.org?rev=37244&view=rev
Log:
test that using a variation on budget line level sets membership criterion on budget line, but not on budget cell
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=37244&r1=37243&r2=37244&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/tests/testBudget.py [utf8] (original)
+++ erp5/trunk/products/ERP5/tests/testBudget.py [utf8] Thu Jul 22 16:08:03 2010
@@ -202,6 +202,60 @@ class TestBudget(ERP5TypeTestCase):
self.assertEquals(['group/demo_group'],
budget_line.getMembershipCriterionCategoryList())
+ def test_category_budget_line_and_budget_cell_variation(self):
+ # test that using a variation on budget line level sets membership
+ # criterion on budget line, but not on budget cell
+ budget_model = self.portal.budget_model_module.newContent(
+ portal_type='Budget Model')
+ budget_model.newContent(
+ portal_type='Category Budget Variation',
+ int_index=1,
+ budget_variation='budget_line',
+ inventory_axis='section_category',
+ variation_base_category='group',)
+ budget_model.newContent(
+ portal_type='Category Budget Variation',
+ int_index=2,
+ budget_variation='budget_cell',
+ inventory_axis='node_category',
+ variation_base_category='account_type',)
+ budget = self.portal.budget_module.newContent(
+ portal_type='Budget',
+ specialise_value=budget_model)
+ budget_line = budget.newContent(portal_type='Budget Line')
+
+ self.assertEquals(['group', 'account_type'],
+ budget_line.getVariationBaseCategoryList())
+
+ budget_line.edit(variation_category_list=['group/demo_group',
+ 'account_type/expense'])
+ self.assertEquals(['group'],
+ budget_line.getMembershipCriterionBaseCategoryList())
+ self.assertEquals(['group/demo_group'],
+ budget_line.getMembershipCriterionCategoryList())
+
+ form = budget_line.BudgetLine_view
+ self.portal.REQUEST.other.update(
+ dict(AUTHENTICATED_USER=getSecurityManager().getUser(),
+
+ field_membership_criterion_base_category_list=
+ form.membership_criterion_base_category_list.get_value('default'),
+ field_mapped_value_property_list=
+ form.mapped_value_property_list.get_value('default'),
+
+ field_matrixbox_quantity_cell_0_0_0="1",
+ field_matrixbox_membership_criterion_category_list_cell_0_0_0=[
+ 'account_type/expense'],
+ ))
+ budget_line.Base_edit(form_id=form.getId())
+
+ self.assertEquals(1, len(budget_line.contentValues()))
+ budget_cell = budget_line.getCell('account_type/expense')
+ self.assertEquals(['account_type'],
+ budget_cell.getMembershipCriterionBaseCategoryList())
+ self.assertEquals(['account_type/expense'],
+ budget_cell.getMembershipCriterionCategoryList())
+
def test_category_budget_variation(self):
budget_model = self.portal.budget_model_module.newContent(
More information about the Erp5-report
mailing list