
    P1i                     \    d dl mZmZ d dlmZ d dlmZ d dlmZ  e       Z	 G d de      Z
y)    )TestCaseClient)get_user_model)date)Personc                   0    e Zd Zd Zd Zd Zd Zd Zd Zy)BaziGoodDaysAPITestsc           	         t         j                  j                  ddd      | _        t	               | _        | j
                  j                  dd       t        j                  j                  ddt        dd	d	      d
| j                        | _
        dddddddddd| j                  _        | j                  j                          t        j                  j                  ddt        ddd      d| j                        | _        dddddddddd| j                  _        | j                  j                          d| _        y )N
0011223344zuser@example.compw123456)phoneemailpassword)r   r   OwnerNi     T)namegender
birth_dateowner
created_byr   )godearth)yearmonthdayOtheri        F   z/api/bazi/good-days/)Userobjectscreate_useruserr   clientloginr   creater   personbazi_resultsaveperson2url)selfs    C/home/cursorai/projects/iching/api/tests/test_bazi_good_days_api.pysetUpzBaziGoodDaysAPITests.setUp   s4   LL,,&8: - 
	 hzB nn++D!Q'yy , 
 *+q)#

 	 ~~,,D!Q'yy - 
 *+q)$
 
 	)    c                     | j                   j                          | j                   j                  | j                        }| j	                  |j
                  ddg       y )Ni  i  )r%   logoutgetr,   assertInstatus_coder-   resps     r.   test_requires_authz'BaziGoodDaysAPITests.test_requires_auth3   s@    {{txx(d&&c
3r0   c                    | j                   j                  | j                        }| j                  |j                  d       |j                         }| j                  d|       | j                  d|       | j                  t        |d   t                     |d   rc|d   d   }| j                  d|       | j                  d|       | j                  d|       | j                  d|       | j                  d	|       y y )
N   r$   daysr   r   r   r   is_goodreasons)
r%   r3   r,   assertEqualr5   jsonr4   
assertTrue
isinstancelist)r-   r7   datad0s       r.   test_default_current_monthz/BaziGoodDaysAPITests.test_default_current_month8   s    {{txx())3/yy{fd#fd#
4<67<faBMM&"%MM%$MM'2&MM)R(MM)R( r0   c                 J   | j                   j                  | j                  ddd      }| j                  |j                  d       |j                         }| j                  |d   d   d       | j                  |d   d   d       | j                  t        |d         d	       y )
N
2025-01-01z
2025-01-07startendr:   rangerI   rJ   r;      )r%   r3   r,   r>   r5   r?   lenr-   r7   rC   s      r.   test_custom_rangez&BaziGoodDaysAPITests.test_custom_rangeG   s    {{txx<)UV))3/yy{gw/>gu-|<T&\*A.r0   c                 B   | j                   j                  | j                  ddt        | j                  j
                        d      }| j                  |j                  d       |j                         }| j                  |d   d   | j                  j
                         y )NrG   
2025-01-02)rI   rJ   	person_idr:   r$   rR   )	r%   r3   r,   strr+   idr>   r5   r?   rN   s      r.   test_person_id_overridez,BaziGoodDaysAPITests.test_person_id_overrideO   sv    {{txx<cfgkgsgsgvgvcw)xy))3/yy{fk2DLLOODr0   c                     | j                   j                  | j                  ddd      }| j                  |j                  d       | j                  d|j                                y )Nz
2025-01-10rQ   rH   i  error)r%   r3   r,   r>   r5   r4   r?   r6   s     r.   test_invalid_rangez'BaziGoodDaysAPITests.test_invalid_rangeU   sI    {{txx<)UV))3/gtyy{+r0   N)	__name__
__module____qualname__r/   r8   rE   rO   rU   rX    r0   r.   r	   r	   
   s"    &*P4
)/E,r0   r	   N)django.testr   r   django.contrib.authr   datetimer   bazi.modelsr   r!   r	   r\   r0   r.   <module>ra      s'    ( .  N,8 N,r0   