def test_update_parent_road_condition_none(self): condition = self.conditions[0] parent = self.conditions[1] create_rc_to_rc([parent], [condition]) update_parents(condition, None, None) updated_parent = get_road_condition_parents(condition)[0] self.assertEqual(parent, updated_parent)
def test_update_parent_road_condition_two_children(self): condition = self.conditions[0] parent = self.conditions[1] child = self.conditions[2] create_rc_to_rc([parent], [child]) with self.assertRaises(ExceededRoadConditionChildNumbers): update_parents(condition, None, parent.id)
def test_update_parent_road_condition_incorrect_depth(self): condition = self.conditions[0] parent_1 = self.conditions[1] parent_2 = self.conditions[2] parent_3 = self.conditions[3] create_rc_to_rc([parent_1, parent_2], [parent_2, parent_3]) with self.assertRaises(ExceededRoadConditionChildDepth): update_parents(condition, None, parent_3.id)
def test_update_parent_road_condition_correct(self): condition = self.conditions[0] parent = self.conditions[1] grand_parent = self.conditions[2] create_rc_to_rc([grand_parent], [parent]) update_parents(condition, None, parent.id) updated_parent = get_road_condition_parents(condition)[0] self.assertEqual(parent, updated_parent)
def test_update_parent_road_segment(self): condition = self.conditions[0] segment = self.road_segments[0] create_rs_to_rc([segment], [condition]) new_segment = self.road_segments[1] update_parents(condition, new_segment.id, None) updated_parent = RoadSegmentToRoadCondition.objects.filter( road_condition=condition) \ .first().road_segment self.assertEqual(new_segment, updated_parent)
def create_road_condition(name: str, date: RoadConditionDateInputObject, value: str, road_condition_type_id: int, road_condition_action_ids: graphene.List( graphene.Int), parent_rc: int, parent_rs: int) -> RoadCondition: road_condition_type = get_road_condition_type_with_id( road_condition_type_id) road_condition = RoadCondition(name=name, value=value, road_condition_type=road_condition_type) if parent_rs or parent_rc: road_condition.save() update_parents(road_condition, parent_rs, parent_rc) replace_road_condition_actions(road_condition, road_condition_action_ids) create_road_condition_date(road_condition, date) return road_condition else: raise NoParentDefinedForRoadCondition()
def test_update_parent_road_condition_circular(self): condition = self.conditions[0] parent_1 = self.conditions[1] create_rc_to_rc([condition], [parent_1]) with self.assertRaises(CircularRoadCondition): update_parents(condition, None, parent_1.id)