wag-managment-api-service-v.../service_app_test/test_application/evyos/people.py

124 lines
4.1 KiB
Python

import random
from datetime import datetime, timedelta
from validations import InsertPerson, InsertUsers
from faker import Faker
faker_engine = Faker(["tr-TR"])
def generate_random_country_code():
return random.choice(["TR", "EN"])
def generate_random_digit(n):
return random.randint(10 ** (n - 1), 10**n)
def generate_random_gender():
return random.choice(["M", "F"])
def generate_random_city_code():
return random.choice(["ANK", "IST", "IZM"])
def generate_random_phone_number():
return f"+90{''.join([str(random.randint(0, 9)) for _ in range(10)])}"
def generate_random_coordinates():
latitude = random.uniform(-90, 90)
longitude = random.uniform(-180, 180)
return latitude, longitude
def generate_random_profile():
"""
asd = {
'job': 'Belediye meclisi üyesi', 'company': 'Zorlu Enerji', 'ssn': '33384169120',
'residence': 'Unit 2753 Box 0533\nDPO AE 94969', 'current_location': (Decimal('57.4049185'), Decimal('56.715540')),
'blood_group': 'B+', 'website': ['https://borusan.tr/'], 'username': 'mugberdemirel', 'name': 'Kelâmi Yorulmaz',
'sex': 'M', 'address': '39314 Zorlu Ramp\nEast Ömürberg, MO 85532', 'mail': 'denizalp28@yandex.com',
'birthdate': datetime.date(2017, 8, 20)
}
"""
return faker_engine.profile()
def create_random_email(people_id: int = None, company_id: int = None):
return {
"email": faker_engine.email(domain="evyos.com.tr"),
"expiry_starts": datetime.now().__str__(),
"expiry_ends": str(datetime.now() + timedelta(days=365)),
"email_name": faker_engine.email(domain="evyos.com.tr").split("@")[0],
"people_id": people_id,
"company_id": company_id,
}
def create_random_phone(people_id: int = None, company_id: int = None):
return {
"country_code": generate_random_country_code(),
"phone_no": generate_random_phone_number(),
"city_code": generate_random_city_code(),
"expiry_starts": datetime.now().__str__(),
"expiry_ends": str(datetime.now() + timedelta(days=365)),
"description": faker_engine.text(max_nb_chars=50),
"people_id": people_id,
"company_id": company_id,
}
def create_random_person():
profile = generate_random_profile()
return InsertPerson(
**{
"firstname": faker_engine.first_name(),
"surname": faker_engine.last_name(),
"middle_name": faker_engine.name_male().split(" ")[1],
"father_name": faker_engine.name_male().replace(".", ""),
"mother_name": faker_engine.name_female().replace(".", ""),
"sex_code": profile.get("sex"),
"country_code": generate_random_country_code(),
"national_identity_id": str(generate_random_digit(n=11)),
"birth_place": faker_engine.city(),
"birth_date": faker_engine.date_of_birth(
minimum_age=25, maximum_age=50
).__str__(),
"tax_no": str(generate_random_digit(n=10)),
"is_employee_related": True,
"is_living_space_related": False,
}
)
def create_random_user(people_id: int):
profile = generate_random_profile()
insert_user = InsertUsers(
**dict(
user_tag=profile.get("username"),
domain_name="wag.evyos.com",
email=faker_engine.email(domain="evyos.com.tr"),
phone_number=generate_random_phone_number(),
avatar="https://s.tmimgcdn.com/scr/800x500/276800/building-home-nature-logo-vector-template-3_276851-original.jpg",
people_uu_id=str(people_id),
)
)
return insert_user.excluded_dump()
def create_random_occupant_user(people_id: int):
profile = generate_random_profile()
insert_user = InsertUsers(
**dict(
user_tag=profile.get("username"),
domain_name="wag.evyos.com",
email=faker_engine.email(),
phone_number=generate_random_phone_number(),
avatar="https://s.tmimgcdn.com/scr/800x500/276800/building-home-nature-logo-vector-template-3_276851-original.jpg",
people_uu_id=str(people_id),
)
)
return insert_user.excluded_dump()