
    jq                         d dl Zd dlmc mZ d dlZd dlmZ d dl	m
Z
 d dlmZmZ d dlmZ d dlmZ d Zd Zd	 Zd
 Zd ZdS )    Ncreate_content_brief)create_script_draft)!convert_script_draft_to_candidate'convert_script_draft_to_candidate_draft)CandidateDraft)VideoCandidatec                  (    t          dddd          S )Nai_life_systemsAI weekly review routinez4I use AI tools but still lose control of priorities.z>a 10-minute Sunday review that keeps AI as assistant, not boss	pillar_idtopicaudience_problempayoffr        Y/home/agent/jarvis_runtime/autoshortsbot/AutoShortsBot/tests/test_content_to_candidate.py_briefr      s%    #(OO	   r   c                     t                      } t          |           }t          | |          }t          |t                    }|sddt          j                    v st          j        t                    rt          j	        t                    nddt          j                    v st          j        |          rt          j	        |          nddt          j                    v st          j        t                    rt          j	        t                    ndt          j	        |          dz  }t          t          j        |                    d }|j        }d}||k    }|st          j        d|fd||f          dt          j                    v st          j        |          rt          j	        |          ndt          j	        |          t          j	        |          d	z  }d
d|iz  }t          t          j        |                    d x}x}}|j        }d}||k    }|st          j        d|fd||f          dt          j                    v st          j        |          rt          j	        |          ndt          j	        |          t          j	        |          d	z  }d
d|iz  }t          t          j        |                    d x}x}}|j        }d}||k    }|st          j        d|fd||f          dt          j                    v st          j        |          rt          j	        |          ndt          j	        |          t          j	        |          d	z  }d
d|iz  }t          t          j        |                    d x}x}}|j        }d}||k    }|st          j        d|fd||f          dt          j                    v st          j        |          rt          j	        |          ndt          j	        |          t          j	        |          d	z  }d
d|iz  }t          t          j        |                    d x}x}}|j        }|j        }	||	k    }|st          j        d|fd||	f          dt          j                    v st          j        |          rt          j	        |          ndt          j	        |          dt          j                    v st          j        |          rt          j	        |          ndt          j	        |	          dz  }
dd|
iz  }t          t          j        |                    d x}x}}	|j        }|j        }	||	k    }|st          j        d|fd||	f          dt          j                    v st          j        |          rt          j	        |          ndt          j	        |          dt          j                    v st          j        |          rt          j	        |          ndt          j	        |	          dz  }
dd|
iz  }t          t          j        |                    d x}x}}	|j        }|j        }	||	k    }|st          j        d|fd||	f          dt          j                    v st          j        |          rt          j	        |          ndt          j	        |          dt          j                    v st          j        |          rt          j	        |          ndt          j	        |	          dz  }
dd|
iz  }t          t          j        |                    d x}x}}	|j        }|j        }	||	k    }|st          j        d|fd||	f          dt          j                    v st          j        |          rt          j	        |          ndt          j	        |          dt          j                    v st          j        |          rt          j	        |          ndt          j	        |	          dz  }
dd|
iz  }t          t          j        |                    d x}x}}	|j        }|j        }	||	k    }|st          j        d|fd||	f          dt          j                    v st          j        |          rt          j	        |          ndt          j	        |          dt          j                    v st          j        |          rt          j	        |          ndt          j	        |	          dz  }
dd|
iz  }t          t          j        |                    d x}x}}	|j        }d}||k    }|st          j        d|fd||f          dt          j                    v st          j        |          rt          j	        |          ndt          j	        |          t          j	        |          d	z  }d
d|iz  }t          t          j        |                    d x}x}}|j        }|j        }d}||k    }	|	st          j        d|	fd||f          dt          j                    v st          j        |          rt          j	        |          ndt          j	        |          t          j	        |          t          j	        |          dz  }d d!|iz  }t          t          j        |                    d x}x}x}	}|j        }|j        }d"}||k    }	|	st          j        d|	fd#||f          dt          j                    v st          j        |          rt          j	        |          ndt          j	        |          t          j	        |          t          j	        |          dz  }d d!|iz  }t          t          j        |                    d x}x}x}	}|j        }|j        }d$}||k    }	|	st          j        d|	fd%||f          dt          j                    v st          j        |          rt          j	        |          ndt          j	        |          t          j	        |          t          j	        |          dz  }d d!|iz  }t          t          j        |                    d x}x}x}	}d&}|j        }||v }|st          j        d'|fd(||f          t          j	        |          dt          j                    v st          j        |          rt          j	        |          ndt          j	        |          d)z  }d
d|iz  }t          t          j        |                    d x}x}}d*}|j        }||v }|st          j        d'|fd(||f          t          j	        |          dt          j                    v st          j        |          rt          j	        |          ndt          j	        |          d)z  }d
d|iz  }t          t          j        |                    d x}x}}d+}|j        }||v }|st          j        d'|fd(||f          t          j	        |          dt          j                    v st          j        |          rt          j	        |          ndt          j	        |          d)z  }d
d|iz  }t          t          j        |                    d x}x}}d S ),N5assert %(py4)s
{%(py4)s = %(py0)s(%(py1)s, %(py2)s)
}
isinstancecandidate_draftr   py0py1py2py4r   ==z.%(py2)s
{%(py2)s = %(py0)s.pillar
} == %(py5)sr   r   py5assert %(py7)spy7r   z-%(py2)s
{%(py2)s = %(py0)s.title
} == %(py5)s)youtubetiktok	instagram)z1%(py2)s
{%(py2)s = %(py0)s.platforms
} == %(py5)s#   )z8%(py2)s
{%(py2)s = %(py0)s.duration_seconds
} == %(py5)s)zF%(py2)s
{%(py2)s = %(py0)s.hook
} == %(py6)s
{%(py6)s = %(py4)s.hook
}script)r   r   r   py6zassert %(py8)spy8)zZ%(py2)s
{%(py2)s = %(py0)s.script_outline
} == %(py6)s
{%(py6)s = %(py4)s.script_outline
})zZ%(py2)s
{%(py2)s = %(py0)s.visual_concept
} == %(py6)s
{%(py6)s = %(py4)s.visual_concept
})zL%(py2)s
{%(py2)s = %(py0)s.caption
} == %(py6)s
{%(py6)s = %(py4)s.caption
})zD%(py2)s
{%(py2)s = %(py0)s.cta
} == %(py6)s
{%(py6)s = %(py4)s.cta
}zXA human-approval AI routine creates saves because it gives viewers control without hype.)z2%(py2)s
{%(py2)s = %(py0)s.hypothesis
} == %(py5)sg       @)zZ%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.quality_score
}.average_quality
} == %(py7)s)r   r   r   r%   zassert %(py9)spy9   )zW%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.quality_score
}.ai_slop_risk
} == %(py7)slow)zV%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.quality_score
}.policy_risk
} == %(py7)sz6Source brief: ai_life_systems-ai-weekly-review-routineinz4%(py1)s in %(py5)s
{%(py5)s = %(py3)s.policy_notes
}r   py3r#   zNo-go inherited: fake earningszHuman approval remains explicit)r   r   r   r   r   @py_builtinslocals
@pytest_ar_should_repr_global_name	_safereprAssertionError_format_explanationpillar_call_reprcomparetitle	platformsduration_secondshookscript_outlinevisual_conceptcaptioncta
hypothesisquality_scoreaverage_qualityai_slop_riskpolicy_riskpolicy_notes)briefr+   r   @py_assert3@py_format5@py_assert1@py_assert4@py_format6@py_format8@py_assert5@py_format7@py_format9@py_assert6@py_format10@py_assert0@py_assert2s                   r   Gtest_convert_script_draft_to_candidate_draft_preserves_content_strategyr[      s   HHE ''F=eVLLOo~666666666666666:66666:6666666666666o66666o6666666666666~66666~666666666666666666666666!6%66!%66666666666!%6666666666666?66666?666666!6666%6666666666666666666666666666 >$>> $>>>>>>>>>>> $>>>>>>>>>>>>>?>>>>>?>>>>>> >>>>$>>>>>>>>>>>>>>>>>>>>>>>>>>>>$J(JJ$(JJJJJJJJJJJ$(JJJJJJJJJJJJJ?JJJJJ?JJJJJJ$JJJJ(JJJJJJJJJJJJJJJJJJJJJJJJJJJJ+1r1+r1111111111+r111111111111?11111?111111+1111r111111111111111111111111111.6;.;..........;............?.....?.................6.....6......;...........................)BV-BB)-BBBBBBBBBBB)-BBBBBBBBBBBBB?BBBBB?BBBBBB)BBBBBBBBBBBVBBBBBVBBBBBB-BBBBBBBBBBBBBBBBBBBBBBBBBBBB)BV-BB)-BBBBBBBBBBB)-BBBBBBBBBBBBB?BBBBB?BBBBBB)BBBBBBBBBBBVBBBBBVBBBBBB-BBBBBBBBBBBBBBBBBBBBBBBBBBBB"4fn4"n4444444444"n444444444444?44444?444444"44444444444f44444f444444n444444444444444444444444444,&*,*,,,,,,,,,,*,,,,,,,,,,,,?,,,,,?,,,,,,,,,,,,,,,,,&,,,,,&,,,,,,*,,,,,,,,,,,,,,,,,,,,,,,,,,,%  D  *D  D%  *D  D  D  D  D  D  D  D  D  D  D%  *D  D  D  D  D  D  D  D  D  D  D  D  D?  D  D  D  D  D?  D  D  D  D  D  D%  D  D  D  D  *D  D  D  D  D  D  D  D  D  D  D  D  D  D  D  D  D  D  D  D  D  D  D  D  D  D  D  D(?(8?C?8C??????????8C?????????????????????????(????8????C?????????????????????????????(:(5::5::::::::::5::::::::::::?:::::?::::::(::::5:::::::::::::::::::::::::::::::::(=(4==4==========4============?=====?======(====4=================================CcGccCGcccccccccccCGccccccCccccccccccccccccccccccGcccccccccccccccccccccccccccc+K/KK+/KKKKKKKKKKK+/KKKKKK+KKKKKKKKKKKKKKKKKKKKKK/KKKKKKKKKKKKKKKKKKKKKKKKKKKK,L0LL,0LLLLLLLLLLL,0LLLLLL,LLLLLLLLLLLLLLLLLLLLLL0LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLr   c                  *
   t                      } t          |           }t          | |          }t          |t                    }|sddt          j                    v st          j        t                    rt          j	        t                    nddt          j                    v st          j        |          rt          j	        |          nddt          j                    v st          j        t                    rt          j	        t                    ndt          j	        |          dz  }t          t          j        |                    d }|j        }d}||k    }|st          j        d|fd||f          dt          j                    v st          j        |          rt          j	        |          ndt          j	        |          t          j	        |          d	z  }d
d|iz  }t          t          j        |                    d x}x}}|j        }d}||k    }|st          j        d|fd||f          dt          j                    v st          j        |          rt          j	        |          ndt          j	        |          t          j	        |          d	z  }d
d|iz  }t          t          j        |                    d x}x}}|j        }d}||k    }|st          j        d|fd||f          dt          j                    v st          j        |          rt          j	        |          ndt          j	        |          t          j	        |          d	z  }d
d|iz  }t          t          j        |                    d x}x}}|j        }d}||k    }|st          j        d|fd||f          dt          j                    v st          j        |          rt          j	        |          ndt          j	        |          t          j	        |          d	z  }d
d|iz  }t          t          j        |                    d x}x}}d}	|j        }|	|v }
|
st          j        d|
fd|	|f          t          j	        |	          dt          j                    v st          j        |          rt          j	        |          ndt          j	        |          dz  }d
d|iz  }t          t          j        |                    d x}	x}
}d S )Nr   r   	candidater	   r   z,ai_life_systems-ai-weekly-review-routine-35sr   )z4%(py2)s
{%(py2)s = %(py0)s.candidate_id
} == %(py5)sr"   r$   r%   r   r!   r   r&   )z#AIz#LifeSystemsz#Productivity)z0%(py2)s
{%(py2)s = %(py0)s.hashtags
} == %(py5)szDuration class: growth_shortr1   r3   r4   )r   r   r   r   r	   r6   r7   r8   r9   r:   r;   r<   candidate_idr>   r=   r?   hashtagsrL   )rM   r+   r]   rN   rO   rP   rQ   rR   rS   rY   rZ   s              r   Ftest_convert_script_draft_to_candidate_uses_existing_candidate_factoryr`   /   s   HHE ''F1%@@Ii000000000000000:00000:0000000000000i00000i000000000000000000000000000000000000000000!S%SS!%SSSSSSSSSSS!%SSSSSSSSSSSSS9SSSSS9SSSSSS!SSSS%SSSSSSSSSSSSSSSSSSSSSSSSSSSS000000000000000000000000000900000900000000000000000000000000000000000000?888?88888888888?88888888888889888889888888?88888888888888888888888888888888I!II!IIIIIIIIIII!IIIIIIIIIIIII9IIIII9IIIIIIIIII!IIIIIIIIIIIIIIIIIIIIIIIIIIII)CY-CC)-CCCCCCCCCCC)-CCCCCC)CCCCCCCCCCCYCCCCCYCCCCCC-CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCr   c                      t                      } t          | d          }t          j        t          d          5  t          | |           d d d            d S # 1 swxY w Y   d S )N )rB   zhook is requiredmatch)r   r   pytestraises
ValueErrorr   )rM   r+   s     r   =test_convert_script_draft_to_candidate_rejects_invalid_scriptrh   =   s    HHE R000F	z);	<	<	< ? ?/v>>>? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?s   AA Ac                      t                      } t          dddd          }t          |          }t          j        t
          d          5  t          | |           d d d            d S # 1 swxY w Y   d S )Nr   zAI calendar cleanupz'My calendar is full of fake priorities.z,one approval checkpoint for calendar changesr   z-script draft does not belong to content briefrc   )r   r   r   re   rf   rg   r   )rM   other_briefr+   s      r   ?test_convert_script_draft_to_candidate_rejects_mismatched_briefrk   E   s    HHE&##B=	  K !--F	z)X	Y	Y	Y ? ?/v>>>? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?s   A**A.1A.)builtinsr6   _pytest.assertion.rewrite	assertionrewriter8   re   autoshorts.content.briefr   autoshorts.content.script_draftr   autoshorts.content.to_candidater   r   autoshorts.ideas.factoryr   autoshorts.ideas.candidater	   r   r[   r`   rh   rk   r   r   r   <module>ru      s                  9 9 9 9 9 9 ? ? ? ? ? ?        4 3 3 3 3 3 5 5 5 5 5 5  M M M2D D D? ? ?? ? ? ? ?r   