o
    e                     @   s:   d Z ddlmZ G dd deZG dd deZe ZdS )z Utils for testing autocompletes.    )appsc                   @   s2   e Zd ZdZdddZdd Zdd Zd	d
 ZdS )Fixturesz1Callback for post_migrate to create many objects.Nc                 C   s
   || _ dS )z%Preset a model name, ie. 'auth.user'.N)
model_name)selfr    r   Z/var/www/html/Testing_prj/Navya-Bakers/venv/lib/python3.10/site-packages/dal/test/utils.py__init__   s   
zFixtures.__init__c                 C   s    | j du r
|dS t| j S )z>Return either the preset model, either the sender's TestModel.NTModel)r   	get_modelr   )r   senderr   r   r   r
      s   

zFixtures.get_modelc                 K   s   |  |}| | dS )z&Call function, calls install_fixtures.N)r
   install_fixtures)r   r   kwargsmodelr   r   r   __call__   s   
zFixtures.__call__c              	   C   sN   t ddD ]}z	|jj|d W q |jy$   |jjd| |d Y qw dS )zInstall fixtures for model.   2   )pkztest %s)namer   N)rangeobjectsgetDoesNotExistcreate)r   r   nr   r   r   r      s   zFixtures.install_fixtures)N)__name__
__module____qualname____doc__r   r
   r   r   r   r   r   r   r      s    
r   c                   @   s   e Zd ZdZdZdd ZdS )OwnedFixturesz5Fixtures for models with an "owner" relation to User.Fc                 C   s   t d}|jjdddd\| _}|r| jd | j  |jjdd\| _}|r5| jd | j  tddD ]}| j| jfD ]}|jj	d	||f t
|d
d qBq:dS )zInstall owners and fixtures.z	auth.usertestT)usernameis_staffis_superuserother)r    r      ztest #%s for %s)owner)r   defaultsN)r   r
   r   get_or_creater   set_passwordsaver#   r   update_or_createdict)r   r   Usercreatedr   ur   r   r   r   &   s*   



zOwnedFixtures.install_fixturesN)r   r   r   r   installed_authr   r   r   r   r   r   !   s    r   N)r   django.appsr   objectr   r   fixturesr   r   r   r   <module>   s
    
