
    ?# j                         d Z ddlZddlmZ ddlZ ed      Z ee      ej                  vr"ej                  j                  d ee             ddl	m
Z
 dededdfd	Zd
 Zd Zd Zd Zd Zy)u  
test_system_docs_section.py

prompts/team_prompts.py의 _build_system_docs_section() 단위 테스트
(카마소츠/개발7팀 작성, task-2179)

테스트 항목:
- None project_id → 빈 문자열 반환
- {project_id}-system/plan.md 존재 시 system suffix 경로 반환
- {project_id}/plan.md 존재 시 (suffix 없음) 해당 경로 반환
- 존재하지 않는 project_id → 빈 문자열 반환
- {project_id}-system 과 {project_id} 둘 다 존재 시 -system 우선
    N)Pathz/home/jay/workspace_build_system_docs_sectionbasefolderreturnc                 l    | dz  dz  |z  }|j                  dd       |dz  j                  dd       y	)
u4   base/memory/plans/{folder}/plan.md 를 생성한다.memoryplansT)parentsexist_okplan.mdz# planzutf-8)encodingN)mkdir
write_text)r   r   plan_dirs      O/home/jay/workspace/.worktrees/task-2537-dev4/tests/test_system_docs_section.py
_make_planr       s=    h(61HNN4$N/	%%h%A    c                  (    t        d      } | dk(  sJ y)u>   project_id가 None이면 빈 문자열을 반환해야 한다.N r   )results    r   test_none_project_idr   ,   s    '-FR<<r   c                     d}t        | | d       |j                  dt        |              ddlm} |j                  |dt        |              t        |      }|dk7  sJ d| d|v sJ d|v sJ d	|v sJ d
|v sJ y)u]   {project_id}-system/plan.md 가 있을 때 해당 경로를 포함한 섹션을 반환한다.myproj-systemWORKSPACE_ROOTr   Nr   memory/plans/r   zcontext-notes.mdzchecklist.mdr   setenvstrprompts.team_promptsteam_promptssetattrr   tmp_pathmonkeypatch
project_idtpr   s        r   (test_existing_project_with_system_suffixr*   2   s    JxJ<w/0'X7%,c(m<'
3FR<<:,g.&888'''V###r   c                     d}t        | |       |j                  dt        |              ddlm} |j                  |dt        |              t        |      }|dk7  sJ d| |v sJ d| d|vsJ y)uY   {project_id}/plan.md 만 있을 때 (system suffix 없음) 해당 경로를 반환한다.r   r   r   Nr   r   r   r   r%   s        r   +test_existing_project_without_system_suffixr,   D   s    Jx$'X7%,c(m<'
3FR<<:,'6111:,g.f<<<r   c                     |j                  dt        |              ddlm} |j	                  |dt        |              t        d      }|dk(  sJ y)uN   plan.md 가 전혀 없는 project_id 는 빈 문자열을 반환해야 한다.r   r   Nzno-such-projectr   )r    r!   r"   r#   r$   r   )r&   r'   r)   r   s       r   test_nonexistent_projectr.   U   sH    'X7%,c(m<'(9:FR<<r   c                     d}t        | | d       t        | |       |j                  dt        |              ddlm} |j                  |dt        |              t        |      }|dk7  sJ d| d|v sJ y)uY   {project_id}-system 과 {project_id} 둘 다 존재하면 -system 경로가 우선이다.r   r   r   r   Nr   r   r   r%   s        r   test_system_suffix_priorityr0   `   s~    JxJ<w/0x$'X7%,c(m<'
3FR<<:,g.&888r   )__doc__syspathlibr   pytest
_WORKSPACEr!   pathinsertr"   r   r   r   r*   r,   r.   r0    r   r   <module>r9      s       '(
z?#(("HHOOAs:' ;BT B3 B4 B$$="9r   