"""Speicherkontingent je Workspace für Uploads.""" from pathlib import Path import pytest from fastapi.testclient import TestClient from sqlalchemy import select from app.identity.models import User from app.main import create_app from app.uploads.models import Upload from app.workspaces.models import Workspace from helpers import create_workspace CSV = b"region,umsatz\nNord,100\nSued,250\n" @pytest.fixture def ws(browser, people, db): with db.session() as session: session.get(User, people["anna"]).is_admin = True anna = browser("anna") workspace_id = create_workspace(anna, people["team_demo"], "Speicher") anna.post(f"/workspaces/{workspace_id}/members", {"username": "ben", "role": "member"}) return {"anna": anna, "ben": browser("ben"), "id": workspace_id, "team": people["team_demo"]} def upload(b, workspace_id, name="umsatz.csv"): return b.post(f"/workspaces/{workspace_id}/uploads", files={"file": (name, CSV)}) def test_belegung_wird_angezeigt_und_gezaehlt(ws, db): assert upload(ws["ben"], ws["id"]).status_code == 303 with db.session() as session: stored = session.scalar(select(Upload.stored_size)) assert stored > 0 page = ws["ben"].get(f"/workspaces/{ws['id']}/data").text assert "von 500 MB belegt" in page and "