a
    AWe                     @   sz   d dl Z d dlmZ d dlmZ d dlmZ d dlZd dlmZ G dd de j	Z
G dd	 d	e j	ZG d
d de j	ZdS )    N)Base)User)	Blacklist)datetimec                   @   sl   e Zd ZG dd dZedZejdddZdZejdd	dd
Z	edZ
dZedd Zedd ZdS )BaseFactoryc                   @   s   e Zd ZeZdS )zBaseFactory.MetaN)__name__
__module____qualname__r   model r   r   /app/tests/factory.pyMeta   s   r   uuid4words   )nbFdate_time_this_decadeT)
before_now	after_nowdate_objectNc                 C   s   |   }t|S Nbuildjsondumpsclsinstancer   r   r   to_json   s    zBaseFactory.to_jsonc                 C   s   |   }t|S r   r   dictr   r   r   r   to_dict   s    zBaseFactory.to_dict)r   r   r	   r   factoryFakerZ	public_idtagsdeletedZ
created_atZ
updated_atZ
deleted_atclassmethodr   r!   r   r   r   r   r      s   


r   c                   @   s   e Zd ZG dd dZedZedZedZe	g dZ
e	g dZdZd	Zd	Zd	Zd
Zd	Zd	Zd	Zd
ZdZeejZdZedd Zedd ZdS )UserFactoryc                   @   s   e Zd ZeZdS )zUserFactory.MetaN)r   r   r	   r   r
   r   r   r   r   r   #   s   r   	user_nameemailpassword)ZAichaOrangeZMedi1TV2M)zAnonymous CompanyzBrands CompanyzAd Agency CompanyzTV Channels CompanydefaultFTNc                 C   s   |   }t|S r   r   r   r   r   r   r   8   s    zUserFactory.to_jsonc                 C   s   |   }t|S r   r   r   r   r   r   r!   =   s    zUserFactory.to_dict)r   r   r	   r   r"   r#   usernamer)   r*   IteratorZcompany_nameZcompany_typeZroleZis_verifiedZis_superuserZis_adminZ	is_activeZis_staffZ	is_online
is_blockedZnotif_enabledZ
last_loginZLazyFunctionr   utcnowZdate_joinedZlast_seen_atr&   r   r!   r   r   r   r   r'   "   s,   



r'   c                   @   sB   e Zd ZG dd dZedZedZedZedZ	dS )BlacklistFactoryc                   @   s   e Zd ZeZdS )zBlacklistFactory.MetaN)r   r   r	   r   r
   r   r   r   r   r   E   s   r   wordr   N)
r   r   r	   r   r"   r#   token
token_typeZjtireasonr   r   r   r   r2   D   s
   


r2   )r"   Zapp.models.baser   Zapp.models.userr   Zapp.models.blacklistr   r   r   Factoryr   r'   r2   r   r   r   r   <module>   s   "