
    !Ti                     $   d Z ddlZddlmZ ddlmZ ej
                  j                  d e ee      j                  j                  j                  j                  dz               de
ddfd	Zd
ede
fdZd Zd Zd Zd Zd Zd Zd Zd Zd Zy)u   
task-1124.1: _enrich_bot_activity()의 논리적 팀(marketing, consulting) 지원 테스트

TDD RED 단계: 수정 전에 실행하면 실패해야 함
    N)datetime)Path	dashboardtasksreturn
DataLoaderc                 x    ddl m}  |t        d            }d| i|_        dddiddiddiddiddidi|_        |S )	u]   테스트용 DataLoader 인스턴스 생성 (실제 파일 없이 in-memory 데이터 주입)r   )r   z/tmp/fake-workspacer   botsstatusidle)	marketing
consultingdesign
publishingdev1)serverr   r   	task_databot_activity_data)r   r   loaders      D/home/jay/workspace/teams/dev5/tests/test_bot_activity_enrichment.py_make_loader_with_tasksr      sc    !234F'F"F+#V,(#V,v&
 F M    team_idc                 V    d| |  dt        j                         j                         dS )u+   stale하지 않은 running 태스크 생성runningu    테스트 작업)r   r   description
start_time)r   now	isoformat)r   s    r   _running_taskr       s1     !"34lln..0	 r   c                      t        dt        d      i      } | j                         }|j                  di       }d|v sJ d       |d   d   du sJ d       y)	uH   marketing 팀에 running task가 있으면 has_running_tasks=True 반환ztask-m1r   r
   !   marketing 봇이 결과에 없음has_running_tasksTuB   marketing 팀에 running task가 있는데 has_running_tasks=FalseNr   r    _enrich_bot_activitygetr   resultr
   s      r   2test_marketing_has_running_tasks_true_when_runningr)   *   sk    $i{1K%LMF((*F::fb!D$C CC01T9 L9r   c                      t        i       } | j                         }|j                  di       }d|v sJ d       |d   d   du sJ d       y)uI   marketing 팀에 running task가 없으면 has_running_tasks=False 반환r
   r   r"   r#   FuA   marketing 팀에 running task가 없는데 has_running_tasks=TrueNr   r%   r&   r'   s      r   4test_marketing_has_running_tasks_false_when_no_tasksr,   5   sa    $R(F((*F::fb!D$C CC01U: K:r   c                      t        dt        d      i      } | j                         }|j                  di       }d|v sJ d       |d   d   du sJ d       y)	uI   consulting 팀에 running task가 있으면 has_running_tasks=True 반환ztask-c1r   r
   "   consulting 봇이 결과에 없음r#   TuC   consulting 팀에 running task가 있는데 has_running_tasks=FalseNr$   r'   s      r   3test_consulting_has_running_tasks_true_when_runningr/   B   k    $i|1L%MNF((*F::fb!D4E!EE12d: M:r   c                      t        i       } | j                         }|j                  di       }d|v sJ d       |d   d   du sJ d       y)uJ   consulting 팀에 running task가 없으면 has_running_tasks=False 반환r
   r   r.   r#   FuB   consulting 팀에 running task가 없는데 has_running_tasks=TrueNr+   r'   s      r   5test_consulting_has_running_tasks_false_when_no_tasksr2   M   a    $R(F((*F::fb!D4E!EE12e; L;r   c                      t        dt        d      i      } | j                         }|j                  di       }d|v sJ d       |d   d   du sJ d       y)	uE   design 팀에 running task가 있으면 has_running_tasks=True 반환task-d1r   r
      design 봇이 결과에 없음r#   Tu?   design 팀에 running task가 있는데 has_running_tasks=FalseNr$   r'   s      r   /test_design_has_running_tasks_true_when_runningr7   \   sj    $ix1H%IJF((*F::fb!Dt===>-.$6 I6r   c                      t        i       } | j                         }|j                  di       }d|v sJ d       |d   d   du sJ d       y)uF   design 팀에 running task가 없으면 has_running_tasks=False 반환r
   r   r6   r#   Fu>   design 팀에 running task가 없는데 has_running_tasks=TrueNr+   r'   s      r   1test_design_has_running_tasks_false_when_no_tasksr9   g   s`    $R(F((*F::fb!Dt===>-.%7 H7r   c                      t        dt        d      i      } | j                         }|j                  di       }d|v sJ d       |d   d   du sJ d       y)	uI   publishing 팀에 running task가 있으면 has_running_tasks=True 반환ztask-p1r   r
   "   publishing 봇이 결과에 없음r#   TuC   publishing 팀에 running task가 있는데 has_running_tasks=FalseNr$   r'   s      r   3test_publishing_has_running_tasks_true_when_runningr<   t   r0   r   c                      t        i       } | j                         }|j                  di       }d|v sJ d       |d   d   du sJ d       y)uJ   publishing 팀에 running task가 없으면 has_running_tasks=False 반환r
   r   r;   r#   FuB   publishing 팀에 running task가 없는데 has_running_tasks=TrueNr+   r'   s      r   5test_publishing_has_running_tasks_false_when_no_tasksr>      r3   r   c                      t        dt        d      i      } | j                         }|j                  di       }d|v sJ d       |d   d   du sJ d       y	)
u8   기존 dev1-team 매핑이 깨지지 않았는지 확인r5   z	dev1-teamr
   r   u   dev1 봇이 결과에 없음r#   Tu>   dev1-team에 running task가 있는데 has_running_tasks=FalseNr$   r'   s      r   #test_existing_dev1_team_still_worksr@      sh    $i{1K%LMF((*F::fb!DT>999><+,4 H4r   )__doc__sysr   pathlibr   pathinsertstr__file__parentdictr   r    r)   r,   r/   r2   r7   r9   r<   r>   r@    r   r   <module>rK      s   
    3tH~,,33::AAKOP Q4 L $3 4 r   