Changeset 769 in main


Ignore:
Timestamp:
02/17/12 11:23:18 (10 years ago)
Author:
pcosquer
Message:

tests: parts: moar tests

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/openPLM/plmapp/tests/controllers/part.py

    r768 r769  
    5858            ctrl.attach_to_document(self.document) 
    5959 
     60    def add_child(self, qty=10, order=15, unit="-"): 
     61        """ Adds controller2 to controller.""" 
     62        self.controller.add_child(self.controller2, qty, order, unit) 
     63 
    6064    def test_add_child(self): 
    6165        """ Tests the addition of a child and checks that the BOM is 
     
    6468        children = self.controller.get_children() 
    6569        self.assertEqual(len(children), 0) 
    66         self.controller.add_child(self.controller2, 10, 15) 
     70        self.add_child() 
    6771        children = self.controller.get_children() 
    6872        self.assertEqual(len(children), 1) 
     
    7983        """ 
    8084        def fail(): 
    81             self.controller.add_child(self.controller2, -10, 15) 
    82         self.assertRaises(ValueError, fail) 
     85            self.add_child(qty=-10) 
     86        self.assertRaises(ValueError, fail) 
     87        self.assertFalse(self.controller.get_children()) 
    8388 
    8489    def test_add_child_error_invalid_order(self): 
     
    8792        """ 
    8893        def fail(): 
    89             self.controller.add_child(self.controller2, 10, -15) 
    90         self.assertRaises(ValueError, fail) 
     94            self.add_child(order=-15) 
     95        self.assertRaises(ValueError, fail) 
     96        self.assertFalse(self.controller.get_children()) 
    9197     
    9298    def test_add_child_error_child_is_parent(self): 
     
    95101        is a parent. 
    96102        """ 
    97         def fail(): 
    98             self.controller2.add_child(self.controller, 10, 15) 
    99             self.controller.add_child(self.controller2, 10, 15) 
    100         self.assertRaises(ValueError, fail) 
     103        self.controller2.add_child(self.controller, 10, 15) 
     104        def fail(): 
     105            self.add_child() 
     106        self.assertRaises(ValueError, fail) 
     107        self.assertFalse(self.controller.get_children()) 
    101108     
    102109    def test_add_child_error_already_a_child(self): 
     
    105112        is already a child. 
    106113        """ 
    107         def fail(): 
    108             self.controller.add_child(self.controller2, 10, 15) 
    109             self.controller.add_child(self.controller2, 10, 15) 
     114        self.add_child() 
     115        def fail(): 
     116            self.add_child() 
    110117        self.assertRaises(ValueError, fail) 
    111118     
     
    119126            self.controller.add_child(doc, 10, 15) 
    120127        self.assertRaises(ValueError, fail) 
     128        self.assertFalse(self.controller.get_children()) 
    121129 
    122130    def test_add_child_error_child_is_self(self): 
     
    128136            self.controller.add_child(self.controller, 10, 15) 
    129137        self.assertRaises(ValueError, fail) 
     138        self.assertFalse(self.controller.get_children()) 
     139 
     140    def test_add_child_error_not_owner(self): 
     141        """ 
     142        Tests that only the owner can add a child. 
     143        """ 
     144        user = self.get_contributor() 
     145        user.groups.add(self.group) 
     146        ctrl = self.CONTROLLER(self.controller.object, user) 
     147        def fail(): 
     148            ctrl.add_child(self.controller2.object, 10, 15, "kg") 
     149        self.assertRaises(exc.PermissionError, fail) 
     150        self.assertFalse(self.controller.get_children()) 
     151     
     152    def test_add_child_error_official_status(self): 
     153        """ 
     154        Tests that it is not possible to add a child to an official 
     155        object. 
     156        """ 
     157        self.controller.promote() 
     158        ctrl = self.CONTROLLER(self.controller.object, self.controller.owner) 
     159        def fail(): 
     160            ctrl.add_child(self.controller2.object, 10, 15, "m") 
     161        self.assertRaises(exc.PermissionError, fail) 
     162        self.assertFalse(self.controller.get_children()) 
     163 
     164    def _test_modify_child(self, new_qty, new_order, new_unit): 
     165        self.add_child() 
     166        self.controller.modify_child(self.controller2, new_qty, new_order, 
     167                new_unit) 
     168        children = self.controller.get_children() 
     169        level, link = children[0] 
     170        self.assertEqual(link.quantity, new_qty) 
     171        self.assertEqual(link.order, new_order) 
     172        self.assertEqual(link.unit, new_unit) 
    130173 
    131174    def test_modify_child(self): 
    132         self.controller.add_child(self.controller2, 10, 15, "-") 
    133         self.controller.modify_child(self.controller2, 3, 5, "kg") 
     175        """ 
     176        Tests the modification of a child link. 
     177        """ 
     178        self._test_modify_child(3, 5, "kg") 
     179 
     180    def test_modify_child_only_quantity(self): 
     181        """ 
     182        Tests the modification of a child link. Only the quantity changes. 
     183        """ 
     184        self._test_modify_child(3, 15, "-") 
     185 
     186    def test_modify_child_only_order(self): 
     187        """ 
     188        Tests the modification of a child link. Only the order changes. 
     189        """ 
     190        self._test_modify_child(10, 25, "-") 
     191 
     192    def test_modify_child_only_unit(self): 
     193        """ 
     194        Tests the modification of a child link. Only the unit changes. 
     195        """ 
     196        self._test_modify_child(10, 15, "m") 
     197 
     198    def _test_modify_child_error(self, new_qty, new_order, new_unit): 
     199        self.add_child() 
     200        def fail(): 
     201            self.controller.modify_child(self.controller2, new_qty, 
     202                    new_order, new_unit) 
     203        self.assertRaises(ValueError, fail) 
    134204        children = self.controller.get_children() 
    135205        level, link = children[0] 
    136         self.assertEqual(link.quantity, 3) 
    137         self.assertEqual(link.order, 5) 
    138         self.assertEqual(link.unit, "kg") 
     206        self.assertEqual(link.quantity, 10) 
     207        self.assertEqual(link.order, 15) 
     208        self.assertEqual(link.unit, "-") 
     209 
     210    def test_modify_child_error_invalid_quantity(self): 
     211        """ 
     212        Tests the modification of a child link. The quantity is invalid. 
     213        """ 
     214        self._test_modify_child_error(-3, 15, "-") 
     215 
     216    def test_modify_child_error_invalid_order(self): 
     217        """ 
     218        Tests the modification of a child link. The order is invalid. 
     219        """ 
     220        self._test_modify_child_error(10, -15, "-") 
     221 
     222    def test_modify_child_error_official_status(self): 
     223        """ 
     224        Tests that it is not possible to modify a child of an official object. 
     225        """ 
     226        self.add_child() 
     227        self.controller2.promote() 
     228        self.controller.promote() 
     229        ctrl = self.CONTROLLER(self.controller.object, self.controller.owner) 
     230        def fail(): 
     231            ctrl.add_child(self.controller2.object, 20, 25, "mm") 
     232        self.assertRaises(exc.PermissionError, fail) 
     233        children = self.controller.get_children() 
     234        level, link = children[0] 
     235        self.assertEqual(link.quantity, 10) 
     236        self.assertEqual(link.order, 15) 
     237        self.assertEqual(link.unit, "-") 
    139238 
    140239    def test_delete_child(self): 
    141         self.controller.add_child(self.controller2, 10, 15) 
     240        """ 
     241        Tests the deletion of a child link. 
     242        """ 
     243        self.add_child() 
    142244        self.controller.delete_child(self.controller2) 
    143245        self.assertEqual(self.controller.get_children(), []) 
Note: See TracChangeset for help on using the changeset viewer.