Finish off backend tests

This commit is contained in:
lvrossem
2023-04-10 16:07:25 -06:00
parent 8e128ca033
commit 73ce1bf2e0
9 changed files with 285 additions and 72 deletions

View File

@@ -1,5 +1,5 @@
from sqlalchemy.orm import Session
from fastapi import HTTPException
from sqlalchemy.orm import Session
from src.enums import CourseEnum
from src.models import CourseProgress, User
@@ -50,7 +50,9 @@ def initialize_user(db: Session, user: User):
db.commit()
def patch_course_progress(db: Session, user: User, course: CourseEnum, course_progress: CourseProgressBase):
def patch_course_progress(
db: Session, user: User, course: CourseEnum, course_progress: CourseProgressBase
):
"""Change the progress value for a given course"""
if course_progress.progress_value > 1 or course_progress.progress_value < 0:
raise HTTPException(status_code=400, detail="Invalid progress value")

View File

@@ -12,8 +12,9 @@ DEFAULT_NR_HIGH_SCORES = 10
def get_high_scores(db: Session, minigame: MinigameEnum, nr_highest: int):
"""Get the n highest scores of a given minigame"""
if nr_highest < 1:
raise HTTPException(status_code=400, detail="Invalid number of high scores")
if nr_highest:
if nr_highest < 1:
raise HTTPException(status_code=400, detail="Invalid number of high scores")
user_high_scores = []
@@ -42,7 +43,9 @@ def get_high_scores(db: Session, minigame: MinigameEnum, nr_highest: int):
return user_high_scores
def create_high_score(db: Session, user: User, minigame: MinigameEnum, high_score: HighScoreBase):
def create_high_score(
db: Session, user: User, minigame: MinigameEnum, high_score: HighScoreBase
):
"""Create a new high score for a given minigame"""
def add_to_db():

View File

@@ -65,16 +65,17 @@ async def login(user: users.UserCreate, db: Session = Depends(get_db)):
async def get_high_scores(
minigame: MinigameEnum,
nr_highest: Optional[int] = None,
current_user_name: str = Depends(crud_authentication.get_current_user_name),
db: Session = Depends(get_db),
):
return crud_highscores.get_high_scores(db, minigame, nr_highest)
@app.post("/highscores/{minigame}", response_model=highscores.HighScore)
@app.put("/highscores/{minigame}", response_model=highscores.HighScore)
async def create_high_score(
minigame: MinigameEnum,
high_score: highscores.HighScoreBase,
current_user_name=Depends(crud_authentication.get_current_user_name),
current_user_name: str = Depends(crud_authentication.get_current_user_name),
db: Session = Depends(get_db),
):
current_user = crud_users.get_user_by_username(db, current_user_name)
@@ -93,7 +94,9 @@ async def get_course_progress(
return crud_courseprogress.get_course_progress(db, current_user, course)
@app.patch("/courseprogress/{course}", response_model=List[courseprogress.CourseProgressParent])
@app.patch(
"/courseprogress/{course}", response_model=List[courseprogress.CourseProgressParent]
)
async def patch_course_progress(
course: CourseEnum,
course_progress: courseprogress.CourseProgressBase,
@@ -101,7 +104,9 @@ async def patch_course_progress(
db: Session = Depends(get_db),
):
current_user = crud_users.get_user_by_username(db, current_user_name)
return crud_courseprogress.patch_course_progress(db, current_user, course, course_progress)
return crud_courseprogress.patch_course_progress(
db, current_user, course, course_progress
)
#### TESTING!! DELETE LATER