diff --git a/bt5/erp5_computer_immobilisation/TestTemplateItem/testERP5ComputerWithComputerModel.py b/bt5/erp5_computer_immobilisation/TestTemplateItem/testERP5ComputerWithComputerModel.py new file mode 100644 index 0000000000000000000000000000000000000000..f4b89c9d00df591c27e567d57f1b2db5129c3a13 --- /dev/null +++ b/bt5/erp5_computer_immobilisation/TestTemplateItem/testERP5ComputerWithComputerModel.py @@ -0,0 +1,137 @@ +# Copyright (c) 2012 Nexedi SA and Contributors. All Rights Reserved. +import unittest +from Products.ERP5Type.tests.ERP5TypeTestCase import ERP5TypeTestCase + +class TestERP5ComputerWithComputerModel(ERP5TypeTestCase): + + def getBusinessTemplateList(self): + return [ 'erp5_base', 'erp5_computer_immobilisation' ] + + def afterSetUp(self): + pass + + def beforeTearDown(self): + pass + + def newModel(self, **kw): + return self.portal.computer_model_module.newContent( + portal_type='Computer Model', **kw) + + def newComputer(self, **kw): + return self.portal.computer_module.newContent( + portal_type='Computer', **kw) + + def test_apply_model_empty_computer(self): + category_list = ['mana', 'mahna'] + model = self.newModel(group=category_list) + computer = self.newComputer(specialise_value=model) + self.assertEqual(computer.getPropertyList('group'), []) + result = computer.Computer_applyComputerModel() + self.assertEqual(computer.getPropertyList('group'), category_list) + self.assertTrue('=Computer%20Model%20applied.' in result, result) + + def test_apply_model_empty_computer_batch_mode(self): + category_list = ['mana', 'mahna'] + model = self.newModel(group=category_list) + computer = self.newComputer(specialise_value=model) + self.assertEqual(computer.getPropertyList('group'), []) + result = computer.Computer_applyComputerModel(batch_mode=1) + self.assertEqual(computer.getPropertyList('group'), category_list) + self.assertTrue(result) + + def test_apply_model_filled_computer(self): + computer_category_list = ['oink'] + category_list = ['mana', 'mahna'] + model = self.newModel(group=category_list) + computer = self.newComputer(specialise_value=model, + group=computer_category_list) + self.assertEqual(computer.getPropertyList('group'), + computer_category_list) + result = computer.Computer_applyComputerModel() + self.assertEqual(computer.getPropertyList('group'), + computer_category_list) + self.assertTrue('=No%20changes%20applied.' in result, result) + + def test_apply_model_filled_computer_batch_mode(self): + computer_category_list = ['oink'] + category_list = ['mana', 'mahna'] + model = self.newModel(group=category_list) + computer = self.newComputer(specialise_value=model, + group=computer_category_list) + self.assertEqual(computer.getPropertyList('group'), + computer_category_list) + result = computer.Computer_applyComputerModel() + self.assertEqual(computer.getPropertyList('group'), + computer_category_list) + self.assertTrue(result) + + def test_apply_model_filled_computer_forced(self): + computer_category_list = ['oink'] + category_list = ['mana', 'mahna'] + model = self.newModel(group=category_list) + computer = self.newComputer(specialise_value=model, + group=computer_category_list) + self.assertEqual(computer.getPropertyList('group'), + computer_category_list) + result = computer.Computer_applyComputerModel(force=1) + self.assertEqual(computer.getPropertyList('group'), + category_list) + self.assertTrue('=Computer%20Model%20applied.' in result, result) + + def test_apply_model_filled_computer_force_batch_mode(self): + computer_category_list = ['oink'] + category_list = ['mana', 'mahna'] + model = self.newModel(group=category_list) + computer = self.newComputer(specialise_value=model, + group=computer_category_list) + self.assertEqual(computer.getPropertyList('group'), + computer_category_list) + result = computer.Computer_applyComputerModel(force=1, batch_mode=1) + self.assertEqual(computer.getPropertyList('group'), + category_list) + self.assertTrue(result) + + def test_apply_no_model(self): + computer = self.newComputer() + result = computer.Computer_applyComputerModel() + self.assertTrue('=No%20Computer%20Model.' in result, result) + + def test_apply_no_model_batch_mode(self): + computer = self.newComputer() + result = computer.Computer_applyComputerModel(batch_mode=1) + self.assertEqual(False, result) + + def test_category_coverage(self): + category_dict = { + 'allocation_scope': ['allocation_scope1', 'allocation_scope2'], + 'cpu_core': ['cpu_core1', 'cpu_core2'], + 'cpu_frequency': ['cpu_frequency1', 'cpu_frequency2'], + 'cpu_type': ['cpu_type1', 'cpu_type2'], + 'function': ['function1', 'function2'], + 'group': ['group1', 'group2'], + 'local_area_network_type': ['local_area_network_type1', + 'local_area_network_type2'], + 'memory_size': ['memory_size1', 'memory_size2'], + 'memory_type': ['memory_type1', 'memory_type2'], + 'product_line': ['product_line1', 'product_line2'], + 'role': ['role1', 'role2'], + 'storage_capacity': ['storage_capacity1', 'storage_capacity2'], + 'storage_interface': ['storage_interface1', 'storage_interface2'], + 'storage_redundancy': ['storage_redundancy1', 'storage_redundancy2'], + } + model = self.newModel(**category_dict) + + category_list = [] + for k, v in category_dict.iteritems(): + for l in v: + category_list.append('%s/%s' % (k,l)) + category_list.append('specialise/%s' % model.getRelativeUrl()) + computer = self.newComputer(specialise_value=model) + result = computer.Computer_applyComputerModel() + self.assertSameSet(category_list, computer.getCategoryList()) + self.assertTrue('=Computer%20Model%20applied.', result) + +def test_suite(): + suite = unittest.TestSuite() + suite.addTest(unittest.makeSuite(TestERP5ComputerWithComputerModel)) + return suite diff --git a/bt5/erp5_computer_immobilisation/bt/revision b/bt5/erp5_computer_immobilisation/bt/revision index abc4eff6ac83026669840d289fce80cc9a42baaa..801f1801027f3350b08ad85c984db805cd32e736 100644 --- a/bt5/erp5_computer_immobilisation/bt/revision +++ b/bt5/erp5_computer_immobilisation/bt/revision @@ -1 +1 @@ -46 \ No newline at end of file +47 \ No newline at end of file diff --git a/bt5/erp5_computer_immobilisation/bt/template_test_id_list b/bt5/erp5_computer_immobilisation/bt/template_test_id_list new file mode 100644 index 0000000000000000000000000000000000000000..8a8bafc553c4398b6d9f60997283562666380233 --- /dev/null +++ b/bt5/erp5_computer_immobilisation/bt/template_test_id_list @@ -0,0 +1 @@ +testERP5ComputerWithComputerModel \ No newline at end of file