o
    ^"<f                     @   s\   d dl Z d dlmZ d dlmZ d dlmZ d dlm	Z	 G dd deZ
G dd	 d	e
ZdS )
    N)patch)VERSIONS)FilebrowserTestCase)OptionsNamerc                       s*   e Zd ZeZ fddZdddZ  ZS )BaseNamerTestsc                    s"   t t|   t| j| j d S N)superr   setUpshutilcopySTATIC_IMG_PATHFOLDER_PATH)self	__class__ H/var/www/html/kck/venv/lib/python3.10/site-packages/tests/test_namers.pyr	      s   zBaseNamerTests.setUpNc                 K   s4   |s| j }|t|i  | j|||j|j|dS )N)file_objectversion_suffixfilename_root	extensionoptions)F_IMAGEupdater   getNAMER_CLASSr   r   )r   r   r   extra_optionsr   r   r   
_get_namer   s   zBaseNamerTests._get_namerr   )__name__
__module____qualname__r   r   r	   r   __classcell__r   r   r   r   r      s    r   c                   @   s6   e Zd Zdd Zedddd Zdd Zd	d
 ZdS )OptionsNamerTestsc                 C   s4   g d}|D ]\}}|  |}| | | qd S )N))admin_thumbnailz/testimage_admin-thumbnail--60x60--opts-crop.jpg)	thumbnailz)testimage_thumbnail--60x60--opts-crop.jpg)smallztestimage_small--140x0.jpg)mediumztestimage_medium--300x0.jpg)bigztestimage_big--460x0.jpg)largeztestimage_large--680x0.jpgr   assertEqualget_version_name)r   expectedr   expected_namenamerr   r   r   Atest_should_return_correct_version_name_using_predefined_versions%   s
   	
zSOptionsNamerTests.test_should_return_correct_version_name_using_predefined_versionsz filebrowser.namers.VERSION_NAMERzfilebrowser.namers.OptionsNamerc                 C   sZ   d}t  D ]$}| j|}| ||}| |j| | | | | |j	| qd S )Nztestimage.jpg)
r   keysr   version_generater   assertNotEqualfilenamer*   get_original_nameoriginal_filename)r   r,   r   r   r.   r   r   r   Btest_should_return_correct_original_name_using_predefined_versions3   s   zTOptionsNamerTests.test_should_return_correct_original_name_using_predefined_versionsc                 C   sf   ddddifdddddfd	d
dddidfg}|D ]\}}}| j |fi |}| | | qd S )Nr$   z0testimage_thumbnail--60x60--opts-crop--sepia.jpgsepiaTr%   z2testimage_small--140x0--thumb--transparency-08.jpgg?)transparencythumbr(   z2testimage_large--680x0--nested-xpto-ops--thumb.jpgxptoops)r9   nestedr)   r   r,   r   r-   r   r.   r   r   r    test_should_append_extra_options>   s"   z2OptionsNamerTests.test_should_append_extra_optionsc                 C   sJ   ddddddfg}|D ]\}}}| j |fi |}| | | qdS )z7the order is important to always generate the same namer%   z*testimage_small--140x0--a--x-crop--z-4.jpg   Tcrop)zaxNr)   r=   r   r   r   :test_generated_version_name_options_list_should_be_orderedS   s   
zLOptionsNamerTests.test_generated_version_name_options_list_should_be_orderedN)r   r   r    r/   r   r6   r>   rD   r   r   r   r   r"   #   s    

r"   )r
   mockr   filebrowser.settingsr   testsr   TestCasefilebrowser.namersr   r   r"   r   r   r   r   <module>   s   