alabuga/backend/tests/test_mission_submission.py
danilgryaznev e050bd46ef 1 vers
2025-09-21 19:30:55 +02:00

36 lines
1.1 KiB
Python

"""Тестируем отправку миссии."""
from __future__ import annotations
from app.models.mission import Mission, MissionSubmission, SubmissionStatus
from app.models.user import User, UserRole
from app.services.mission import approve_submission
def test_approve_submission_rewards(db_session):
"""После одобрения пилот получает награды."""
mission = Mission(title="Сборка спутника", description="Практика", xp_reward=150, mana_reward=90)
user = User(
email="pilot@alabuga.space",
full_name="Пилот",
role=UserRole.PILOT,
hashed_password="hash",
)
db_session.add_all([mission, user])
db_session.flush()
submission = MissionSubmission(user_id=user.id, mission_id=mission.id)
db_session.add(submission)
db_session.commit()
db_session.refresh(submission)
db_session.refresh(user)
approve_submission(db_session, submission)
db_session.refresh(user)
assert user.xp == mission.xp_reward
assert user.mana == mission.mana_reward
assert submission.status == SubmissionStatus.APPROVED