Changeset 707 in main for branches


Ignore:
Timestamp:
02/03/12 11:06:57 (8 years ago)
Author:
agalech
Message:

Adding test

Location:
branches/3D/openPLM/document3D
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/3D/openPLM/document3D/arborescense.py

    r703 r707  
    223223                        object_id=object_id.replace(".","")  
    224224                        output.write(function_change_object % (locals()))  
    225                     else:  # para evitar generar objetos de instances arbresnom que no tienen hijos se puede dar el caso de shape sin informacion que no van a generar hijos 
    226                     #solo si se ha llegado a una hoja se genera el objeto, PROBLEMA que resuelve, nombres de shapes con el punto 
    227                     #sino se podria dar el caso de nombres de objetos no validos como 4dm-5 
    228                         print "Eureka"      
     225 
    229226  
    230227             
  • branches/3D/openPLM/document3D/tests.py

    r706 r707  
    2626             
    2727        #print "\n\n\n" , self.document , "\n\n\n" 
    28      
     28         
    2929    def test_add_STEP(self): 
    3030        f=open("document3D/data_test/test.stp") 
     
    6767    ############################################# en decomposer ver si old arbre y new arbre son iguales o equivalentes IMPORTANTE 
    6868           
    69      
     69        
    7070  
    7171  
     
    7777        self.document = Document3DController.create('doc1', 'Document3D', 
    7878                'a', self.user, self.DATA) 
     79     
    7980    def test_3D_form(self): 
    8081        f=open("document3D/data_test/test.stp") 
     
    8485        form=Form3D(document=self.document) 
    8586        self.assertEqual(response.context["select_stp_form"].as_table(), form.as_table()) 
    86          
     87 
     88 
     89         
     90    def test_3D_form_post(self): 
     91        f=open("document3D/data_test/test2.stp") 
     92        myfile = File(f) 
     93        new_doc_file=self.document.add_file(myfile)           
     94        form=Form3D(document=self.document) 
     95        response_post = self.post(self.document.object.plmobject_url+"3D/",  
     96                            {"select_stp_form" : form})      
     97        self.assertEqual(5, len(list(response_post.context["multi_image3D"]))) 
     98        self.assertNotEqual(response_post.context["menu_arborescense"],'')         
     99            
     100    def test_3D_form_post_no_arborescense(self): 
     101        f=open("document3D/data_test/test2.stp") 
     102        myfile = File(f) 
     103        new_doc_file=self.document.add_file(myfile)           
     104        form=Form3D(document=self.document) 
     105        stp=stp_to_jss_arborescense.objects.get(stp=new_doc_file) 
     106        stp.delete() 
     107        response_post = self.post(self.document.object.plmobject_url+"3D/",  
     108                            {"select_stp_form" : form})      
     109        self.assertEqual(5, len(list(response_post.context["multi_image3D"]))) 
     110        self.assertEqual(response_post.context["menu_arborescense"], '')         
    87111         
    88112    def test_3D_no_stp_associe(self):    
     
    101125        self.assertNotEqual(response.context["multi_image3D"],'') 
    102126        self.assertEqual(response.context["menu_arborescense"], '') 
    103          
    104          
     127 
     128    def test_3D_stp_valide_no_info(self):   #ca doit jamais arriver, mais... 
     129        f=open("document3D/data_test/valid_sans_information.stp") 
     130        myfile = File(f) 
     131        new_doc_file=self.document.add_file(myfile)        
     132        response = self.get(self.document.object.plmobject_url+"3D/")     
     133        self.assertEqual(len(response.context["multi_image3D"]),0) 
     134        self.assertNotEqual(response.context["menu_arborescense"], '')     
     135             
     136#bomb child con loink editables????      
     137        
    105138class display_bomb_childTest(CommonViewTest): 
    106139    def setUp(self): 
     
    132165                  
    133166class display_decomposeTest(CommonViewTest): 
    134     def setUp(self): 
    135         super(display_bomb_childTest, self).setUp() 
    136         self.document = Document3DController.create('doc1', 'Document3D', 
    137                 'a', self.user, self.DATA) 
     167 
     168    def setUp(self): 
     169        super(display_decomposeTest, self).setUp() 
     170        self.document = Document3DController.create('doc1', 'Document3D', 
     171                'a', self.user, self.DATA) 
     172              
     173    #verificar los links creados en las buenas coordenadas       
     174    def test_display_decompose_form_initial(self): 
     175        f=open("document3D/data_test/test.stp") 
     176        myfile = File(f) 
     177        new_doc_file=self.document.add_file(myfile)      
     178        self.controller.attach_to_document(self.document.object)   
     179                
     180        response = self.get(self.base_url+"decompose/"+str(new_doc_file.id)+"/")     
     181         
     182        Select_Doc_Part_types = formset_factory(Doc_Part_type_Form,extra=2) 
     183        Select_Order_Quantity_types = formset_factory(Order_Quantity_Form,extra=2) 
     184        form_Doc_Part_types = Select_Doc_Part_types()       
     185        form_Order_Quantity = Select_Order_Quantity_types()    
     186        for form in form_Doc_Part_types.forms: 
     187            form.fields["type_part"].initial='Part' 
     188            form.fields["type_document3D"].initial='Document3D' 
     189             
     190        quantity=[1,3]     
     191        index=0     
     192        for form in form_Order_Quantity.forms: 
     193            form.fields["order"].initial=(index+1)*10 
     194            form.fields["quantity"].initial=quantity[index]        
     195            index=index+1         
     196        self.assertEqual(response.context["form_Doc_Part_types"].as_table(), form_Doc_Part_types.as_table()) 
     197        self.assertEqual(response.context["form_Order_Quantity"].as_table(), form_Order_Quantity.as_table())  
     198     
     199                   
     200                
     201   
     202    def test_display_decompose_form_post(self): 
     203        f=open("document3D/data_test/test.stp") 
     204        myfile = File(f) 
     205        new_doc_file=self.document.add_file(myfile)      
     206        self.controller.attach_to_document(self.document.object)                                           
     207        data = data1       
     208        response_post = self.post(self.base_url+"decompose/"+str(new_doc_file.id)+"/",data) 
     209        self.assertRedirects(response_post, self.base_url + "BOM-child/") 
     210        
     211            
     212    def test_display_decompose_form_Order_Quantity_error_post(self): 
     213        f=open("document3D/data_test/test.stp") 
     214        myfile = File(f) 
     215        new_doc_file=self.document.add_file(myfile)      
     216        self.controller.attach_to_document(self.document.object)                                           
     217        data = data2       
     218        response_post = self.post(self.base_url+"decompose/"+str(new_doc_file.id)+"/",data) 
     219        self.assertEqual(response_post.context["form_Order_Quantity"].errors,[{'quantity': [u'This field is required.']}, {}]) 
     220        #self.assertFormError(response_post, "form_Order_Quantity", "quantity", [u'This field is required.']) 
     221        #self.assertFormError(response_post) 
     222        #self.assertRedirects(response_post, self.base_url+"decompose/"+str(new_doc_file.id)+"/") 
     223     
     224     
     225    def test_display_decompose_form_Doc_Part_types_error_post(self): 
     226        f=open("document3D/data_test/test.stp") 
     227        myfile = File(f) 
     228        new_doc_file=self.document.add_file(myfile)      
     229        self.controller.attach_to_document(self.document.object)                                           
     230        data = data3       
     231        response_post = self.post(self.base_url+"decompose/"+str(new_doc_file.id)+"/",data) 
     232        self.assertEqual(response_post.context["form_Doc_Part_types"].errors,[{}, {'type_document3D': [u'Select a valid choice. not_exits_Document4D362182 is not one of the available choices.']}] 
     233) 
     234      
     235    def test_display_decompose_form_Doc_Part_attributes_error_post(self): 
     236        f=open("document3D/data_test/test.stp") 
     237        myfile = File(f) 
     238        new_doc_file=self.document.add_file(myfile)      
     239        self.controller.attach_to_document(self.document.object)                                           
     240        data = data4      
     241        response_post = self.post(self.base_url+"decompose/"+str(new_doc_file.id)+"/",data) 
     242        zip=response_post.context["zip"]  
     243        index=0 
     244        for type, atributes , ord_qty in zip: 
     245            if index==1: 
     246                self.assertEqual(atributes[0].errors,{'group': [u'Bad group, check that the group exists and that you belong to this group.']}) 
     247            index+=1 
     248 
     249 
     250 
     251 
     252data1 ={u'2-lifecycle': [u'draft_official_deprecated'], u'3-lifecycle': [u'draft_official_deprecated'], u'reference': [u'PART_00006'], u'form-0-quantity': [u'1'], u'form-1-order': [u'20'], u'3-revision': [u'a'], u'form-1-type_part': [u'Part'], u'initial-3-lifecycle': [u'draft_official_deprecated'], u'2-group': [u'2'], u'1-lifecycle': [u'draft_official_deprecated'], u'3-group': [u'2'], u'group': [u'2'], u'1-revision': [u'a'], u'lifecycle': [u'draft_official_deprecated'], u'2-name': [u'NUT'], u'form-0-type_part': [u'Part'], u'csrfmiddlewaretoken': [u'6a0951fed02461061f796c63d98bb430', u'6a0951fed02461061f796c63d98bb430'], u'3-name': [u'NUT'], u'revision': [u'a'], u'initial-2-lifecycle': [u'draft_official_deprecated'], u'initial-1-lifecycle': [u'draft_official_deprecated'], u'1-name': [u'BOLT'], u'form-TOTAL_FORMS': [u'2', u'2'], u'2-reference': [u'PART_00007'], u'2-revision': [u'a'], u'form-INITIAL_FORMS': [u'0', u'0'], u'form-1-quantity': [u'1'], u'initial-lifecycle': [u'draft_official_deprecated'], u'3-reference': [u'DOC_00008'], u'name': [u'BOLT'], u'form-MAX_NUM_FORMS': [u'', u''], u'1-group': [u'2'], u'form-0-type_document3D': [u'Document3D'], u'form-0-order': [u'10'], u'form-1-type_document3D': [u'Document3D'], u'1-reference': [u'DOC_00007']} 
     253 
     254# u'form-0-quantity': [u''], 
     255data2 ={u'2-lifecycle': [u'draft_official_deprecated'], u'3-lifecycle': [u'draft_official_deprecated'], u'reference': [u'PART_00006'], u'form-0-quantity': [u''], u'form-1-order': [u'20'], u'3-revision': [u'a'], u'form-1-type_part': [u'Part'], u'initial-3-lifecycle': [u'draft_official_deprecated'], u'2-group': [u'2'], u'1-lifecycle': [u'draft_official_deprecated'], u'3-group': [u'2'], u'group': [u'2'], u'1-revision': [u'a'], u'lifecycle': [u'draft_official_deprecated'], u'2-name': [u'NUT'], u'form-0-type_part': [u'Part'], u'csrfmiddlewaretoken': [u'6a0951fed02461061f796c63d98bb430', u'6a0951fed02461061f796c63d98bb430'], u'3-name': [u'NUT'], u'revision': [u'a'], u'initial-2-lifecycle': [u'draft_official_deprecated'], u'initial-1-lifecycle': [u'draft_official_deprecated'], u'1-name': [u'BOLT'], u'form-TOTAL_FORMS': [u'2', u'2'], u'2-reference': [u'PART_00007'], u'2-revision': [u'a'], u'form-INITIAL_FORMS': [u'0', u'0'], u'form-1-quantity': [u'1'], u'initial-lifecycle': [u'draft_official_deprecated'], u'3-reference': [u'DOC_00008'], u'name': [u'BOLT'], u'form-MAX_NUM_FORMS': [u'', u''], u'1-group': [u'2'], u'form-0-type_document3D': [u'Document3D'], u'form-0-order': [u'10'], u'form-1-type_document3D': [u'Document3D'], u'1-reference': [u'DOC_00007']} 
     256 
     257#u'form-1-type_document3D': [u'not_exits_Document4D362182'] 
     258data3 ={u'2-lifecycle': [u'draft_official_deprecated'], u'3-lifecycle': [u'draft_official_deprecated'], u'reference': [u'PART_00006'], u'form-0-quantity': [u'1'], 
     259 u'form-1-order': [u'20'], u'3-revision': [u'a'], u'form-1-type_part': [u'Part'], u'initial-3-lifecycle': [u'draft_official_deprecated'], u'2-group': [u'2'], u'1-lifecycle': [u'draft_official_deprecated'], u'3-group': [u'2'], u'group': [u'2'], u'1-revision': [u'a'], u'lifecycle': [u'draft_official_deprecated'], u'2-name': [u'NUT'], u'form-0-type_part': [u'Part'], u'csrfmiddlewaretoken': [u'6a0951fed02461061f796c63d98bb430', u'6a0951fed02461061f796c63d98bb430'], u'3-name': [u'NUT'], u'revision': [u'a'], u'initial-2-lifecycle': [u'draft_official_deprecated'], u'initial-1-lifecycle': [u'draft_official_deprecated'], u'1-name': [u'BOLT'], u'form-TOTAL_FORMS': [u'2', u'2'], u'2-reference': [u'PART_00007'], u'2-revision': [u'a'], u'form-INITIAL_FORMS': [u'0', u'0'], u'form-1-quantity': [u'1'], u'initial-lifecycle': [u'draft_official_deprecated'], u'3-reference': [u'DOC_00008'], u'name': [u'BOLT'], u'form-MAX_NUM_FORMS': [u'', u''], u'1-group': [u'2'], u'form-0-type_document3D': [u'Document3D'], u'form-0-order': [u'10'], u'form-1-type_document3D': [u'not_exits_Document4D362182'], u'1-reference': [u'DOC_00007']} 
     260  
     261#u'2-group': [u'1']  
     262data4 ={u'2-lifecycle': [u'draft_official_deprecated'], u'3-lifecycle': [u'draft_official_deprecated'], u'reference': [u'PART_00006'], u'form-0-quantity': [u'1'], 
     263 u'form-1-order': [u'20'], u'3-revision': [u'a'], u'form-1-type_part': [u'Part'], u'initial-3-lifecycle': [u'draft_official_deprecated'], u'2-group': [u'1'], u'1-lifecycle': [u'draft_official_deprecated'], u'3-group': [u'2'], u'group': [u'2'], u'1-revision': [u'a'], u'lifecycle': [u'draft_official_deprecated'], u'2-name': [u'NUT'], u'form-0-type_part': [u'Part'], u'csrfmiddlewaretoken': [u'6a0951fed02461061f796c63d98bb430', u'6a0951fed02461061f796c63d98bb430'], u'3-name': [u'NUT'], u'revision': [u'a'], u'initial-2-lifecycle': [u'draft_official_deprecated'], u'initial-1-lifecycle': [u'draft_official_deprecated'], u'1-name': [u'BOLT'], u'form-TOTAL_FORMS': [u'2', u'2'], u'2-reference': [u'PART_00007'], u'2-revision': [u'a'], u'form-INITIAL_FORMS': [u'0', u'0'], u'form-1-quantity': [u'1'], u'initial-lifecycle': [u'draft_official_deprecated'], u'3-reference': [u'DOC_00008'], u'name': [u'BOLT'], u'form-MAX_NUM_FORMS': [u'', u''], u'1-group': [u'2'], u'form-0-type_document3D': [u'Document3D'], u'form-0-order': [u'10'], u'form-1-type_document3D': [u'Document3D'], u'1-reference': [u'DOC_00007']} 
  • branches/3D/openPLM/document3D/views.py

    r705 r707  
    5353            doc_file = options["Display"] 
    5454            multi_image=stp_to_jss.objects.filter(stp=doc_file)     
    55             #menu_arborescense=generate_file_arborescense(doc_file) 
    56              
    57             if multi_image.count()>0: 
    58                 #menu_arborescense=stp_to_jss_arborescense.objects.filter(stp=image)[0].js.name 
    59                 menu_arborescense=stp_to_jss_arborescense.objects.filter(stp=doc_file) 
    60                 if menu_arborescense.count()>0: 
    61                     menu_arborescense=menu_arborescense[0].js.name 
    62                 else: 
    63                     menu_arborescense="" 
     55            menu_arborescense=stp_to_jss_arborescense.objects.filter(stp=doc_file) 
     56            if menu_arborescense.count()>0: 
     57                menu_arborescense=menu_arborescense[0].js.name 
     58            else: 
     59                menu_arborescense="" 
    6460                          
    65             else: 
    66                 #menu_arborescense=stp_to_jss_arborescense.objects.filter(stp=image)[0].js.name     
    67                 menu_arborescense="" 
     61 
    6862             
    6963 
     
    205199        form_Doc_Part_attributes = [] 
    206200  
    207   
    208          
    209     
     201 
     202         
     203         
    210204        options=clear_form(request ,form_Doc_Part_types,form_Order_Quantity,form_Doc_Part_attributes) 
    211205        # como casar que un form a dado no valido por eso?   
    212  
    213206        if options and elements_decomposable:  
    214207         
     
    217210            #try: 
    218211            list_doc3D_controller , instance =generate_part_doc_links(options,list_elements_decomposables,obj,request.user)                           
    219             decomposer_all(new_stp_3D,list_doc3D_controller,request.user)  
     212            decomposer_all(new_stp_3D,list_doc3D_controller,request.user) 
     213            #obj.detach_document(new_stp_3D.document)   
    220214            instances = [] 
    221215            for elem in instance:             
     
    223217            update_indexes.delay(instances)  
    224218 
     219            #print "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nANO\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" 
    225220            return HttpResponseRedirect(obj.plmobject_url+"BOM-child/") 
    226221 
     
    235230                                
    236231         
     232             
    237233    else: 
    238234        stp_name, list_elements_decomposables=elements_decomposable(new_stp_3D) 
     
    267263 
    268264 
    269              
     265                     
    270266    zip_list=zip(form_Doc_Part_types.forms,form_Doc_Part_attributes,form_Order_Quantity.forms) 
    271  
     267     
    272268    ctx.update({'current_page':'decomposer',  # aqui cambiar 
    273269                'object_type': 'Document3D',   
     
    278274                #'formset2': formset2,        
    279275                })    
    280      
    281  
     276                
     277    #return True 
    282278    return r2r('DisplayDecompose.htm', ctx, request) 
    283279 
     
    287283    
    288284 
    289 def realize_transaction_to_separate(options,list_elements_decomposables,obj,user,new_stp_3D): 
    290  
    291     list_doc3D_controller , instances =generate_part_doc_links(options,list_elements_decomposables,obj,user)                           
    292     decomposer_all(new_stp_3D,list_doc3D_controller,user)   
    293     return instances   
    294     #obj.detach_document(new_stp_3D.document)  
     285     
    295286 
    296287 
     
    352343    if form_Order_Quantity.is_valid(): 
    353344        order_quantity_extra_links=[] 
    354         for form in form_Order_Quantity.forms: 
    355             if form.is_valid():             
     345        for form in form_Order_Quantity.forms:      
    356346                options=form.cleaned_data 
    357347                order_quantity_extra_links.append([options["order"],options["quantity"]]) 
    358             else: 
    359                 valid=False 
    360     else: 
     348 
     349    else: 
     350 
    361351        valid=False         
    362      
     352  
    363353 
    364354    if form_Doc_Part_types.is_valid(): 
    365355        index=0 
    366  
    367  
    368356        for form in form_Doc_Part_types.forms: 
    369             if form.is_valid(): 
    370357                options=form.cleaned_data 
    371358                part = options["type_part"] 
     
    373360                part_form = get_creation_form(request.user, cls, request.POST,0,prefix=index*2) 
    374361                doc = options["type_document3D"] 
    375                 cls = models.get_all_plmobjects()[doc]                        
     362                cls = models.get_all_plmobjects()[doc] 
     363                print request.user                        
    376364                doc_form = get_creation_form(request.user, cls, request.POST,0,prefix=index*2+1) 
    377                 form_Doc_Part_attributes.append((part_form,doc_form))  
    378                  
     365                form_Doc_Part_attributes.append([part_form,doc_form])  
    379366                if not part_form.is_valid() or not doc_form.is_valid(): 
    380                  
     367 
    381368                    valid=False 
    382369 
    383370                index=index+1 
    384             else: 
    385                 valid=False 
    386     else: 
     371 
     372    else: 
     373 
    387374        valid=False 
    388      
     375 
    389376     
    390377    if valid: 
     
    432419                }   
    433420 
    434         #return r2r('DisplayDecompose.htm', ctx, request) 
    435421        return r2r('GenerateSimple.htm', ctx, request)       
    436422               
Note: See TracChangeset for help on using the changeset viewer.