Fix change_accessauth() not changing timetables

Also fix the test not actually checking the response :/
This commit is contained in:
2026-05-23 18:05:10 +02:00
parent 3d1893d84e
commit 5a6cd970dd
2 changed files with 11 additions and 1 deletions

View File

@@ -66,7 +66,12 @@ def change_accessauth(*, db: Session = Depends(get_session), aa_id: int, aa: Acc
db_aa = db.get(AccessAuthorizationDB, aa_id)
if db_aa is None:
raise HTTPException(status_code=404, detail="AccessAuthorization not found")
aa_data = aa.dict(exclude_unset=True)
aa_data = aa.model_dump(exclude_unset=True)
if "timetables" in aa_data and aa_data["timetables"] is not None:
db_aa.timetables.clear()
timetables = [Timetable.model_validate(t) for t in aa_data["timetables"]]
db_aa.timetables = timetables
aa_data.pop("timetables")
db_aa.sqlmodel_update(aa_data)
return add_and_refresh(db, db_aa)

View File

@@ -147,6 +147,11 @@ def test_update_access_auth_with_timetables(client, auth_headers, test_aa):
headers=auth_headers
)
assert response.status_code == 200
jresponse = response.json()
assert len(jresponse["timetables"]) == 1
assert jresponse["timetables"][0]["weekday"] == 5
assert jresponse["timetables"][0]["starttime"] == "10:00:00"
assert jresponse["timetables"][0]["duration"] == 120
def test_update_nonexistent_access_auth(client, auth_headers):