U
    hT                     @   s*   d dl T d dlmZ G dd dejZdS )    )*)cmf_testcycle_testcase_folderc                   @   s2   e Zd Zejjdg ZdddeedddZdS )CmfTestcycleTestcaseFoldersetupNF)root_folder_nameappend)testcase_idsr   c                   s   fdd fdd  ddddd	g |rD|_jd
d |s }|D ]0}|jj|krt||jj qT|    qT|D ]Z}tjj	dddj
gdd|ggd}	|	stjj|dddgd}
|
j}|
jj
|d qd S )Nc                    sf   | r^| j jdkr^tjjj| jd}|sZ | j }tjj|| jd}|	  |	  |S S d S )NZCmfTestcaseFolder)parentname)r	   tree_parent_folderr
   )
value
class_namemodelsr   getr	   r
   Ztree_parentloadsave)Ztestcase_foldertestcycle_folderr   )get_parent_treeself 9./modules/evatest/models/cmf_testcycle_testcase_folder.pyr   
   s     z9CmfTestcycleTestcaseFolder.setup.<locals>.get_parent_treec                    sL   g }t jj| dgdD ]}|| qt jj| dD ]}| | q4|S )Ntestcase)testcycle_testcase_folderfields)r   )r   CmfTestcaseRunlistr   r   extend)folderZall_testcase_runstestcase_runZ	subfolder)get_folder_testcase_runsr   r   r      s    zBCmfTestcycleTestcaseFolder.setup.<locals>.get_folder_testcase_runsr
   r	   zparent.test_configurationszparent.testplanzparent.default_responsibleT)Z	only_dataZANDz==ztestcase.id)filterr   zfolder.namezfolder.tree_parent)idr   )Z	testcycler   )Zload_fieldsr
   r   r   r!   removedeleter   r   Zslistr	   ZCmfTestcaser   r   run)r   r   r   r   argskwargsZfolder_testcase_runsr   Ztestcase_idZtestcase_runsr   r   r   )r   r   r   r   r      s0    


z CmfTestcycleTestcaseFolder.setup)	__name__
__module____qualname__r   r   Zapi_methodsr   strr   r   r   r   r   r      s   r   N)Zcmf.includeZmodules.evatest.fieldsr   r   r   r   r   r   <module>   s   