system-pri/backend/tests/fake_data.py

26 lines
866 B
Python

from typing import List
from .factory import ProjectSupervisorFactory, YearGroupProjectSupervisorsFactory
from ..app.dependencies import db
from ..app.project_supervisor.models import YearGroup
from ..app.base.mode import ModeGroups
def create_year_group(data: dict = None) -> YearGroup:
if data is None:
data = {'mode': ModeGroups.STATIONARY.value, 'name': '2022/2023'}
yg = YearGroup(**data)
db.session.add(yg)
db.session.commit()
return yg
def create_project_supervisors(yg: YearGroup, amount: int) -> List[ProjectSupervisorFactory]:
ps = [ProjectSupervisorFactory() for _ in range(amount)]
db.session.add_all(ps)
db.session.commit()
db.session.add_all(
[YearGroupProjectSupervisorsFactory(limit_group=3, year_group_id=yg.id, project_supervisor_id=p.id) for p in ps])
db.session.commit()
return ps