diff --git a/backend/src/backend/__pycache__/__init__.cpython-314.pyc b/backend/src/backend/__pycache__/__init__.cpython-314.pyc index e0ffbc4..a1b85ef 100644 Binary files a/backend/src/backend/__pycache__/__init__.cpython-314.pyc and b/backend/src/backend/__pycache__/__init__.cpython-314.pyc differ diff --git a/backend/src/backend/__pycache__/main.cpython-314.pyc b/backend/src/backend/__pycache__/main.cpython-314.pyc index a322364..efb4ef8 100644 Binary files a/backend/src/backend/__pycache__/main.cpython-314.pyc and b/backend/src/backend/__pycache__/main.cpython-314.pyc differ diff --git a/backend/src/backend/internal/__pycache__/__init__.cpython-314.pyc b/backend/src/backend/internal/__pycache__/__init__.cpython-314.pyc index e8e4a82..41accb1 100644 Binary files a/backend/src/backend/internal/__pycache__/__init__.cpython-314.pyc and b/backend/src/backend/internal/__pycache__/__init__.cpython-314.pyc differ diff --git a/backend/src/backend/internal/__pycache__/database.cpython-314.pyc b/backend/src/backend/internal/__pycache__/database.cpython-314.pyc index b6681d4..33d0d58 100644 Binary files a/backend/src/backend/internal/__pycache__/database.cpython-314.pyc and b/backend/src/backend/internal/__pycache__/database.cpython-314.pyc differ diff --git a/backend/src/backend/internal/__pycache__/user_code_gen.cpython-314.pyc b/backend/src/backend/internal/__pycache__/user_code_gen.cpython-314.pyc index fa72035..78eafde 100644 Binary files a/backend/src/backend/internal/__pycache__/user_code_gen.cpython-314.pyc and b/backend/src/backend/internal/__pycache__/user_code_gen.cpython-314.pyc differ diff --git a/backend/src/backend/models/__pycache__/__init__.cpython-314.pyc b/backend/src/backend/models/__pycache__/__init__.cpython-314.pyc index 63e9ebf..9f08751 100644 Binary files a/backend/src/backend/models/__pycache__/__init__.cpython-314.pyc and b/backend/src/backend/models/__pycache__/__init__.cpython-314.pyc differ diff --git a/backend/src/backend/models/__pycache__/comment.cpython-314.pyc b/backend/src/backend/models/__pycache__/comment.cpython-314.pyc index 45f2bc9..beec306 100644 Binary files a/backend/src/backend/models/__pycache__/comment.cpython-314.pyc and b/backend/src/backend/models/__pycache__/comment.cpython-314.pyc differ diff --git a/backend/src/backend/models/__pycache__/user.cpython-314.pyc b/backend/src/backend/models/__pycache__/user.cpython-314.pyc index 637d2c9..d6105d0 100644 Binary files a/backend/src/backend/models/__pycache__/user.cpython-314.pyc and b/backend/src/backend/models/__pycache__/user.cpython-314.pyc differ diff --git a/backend/src/backend/models/user.py b/backend/src/backend/models/user.py index 3d922fc..f5e34d1 100644 --- a/backend/src/backend/models/user.py +++ b/backend/src/backend/models/user.py @@ -1,3 +1,4 @@ +from sqlmodel._compat import ConfigDict from uuid import uuid7 from datetime import datetime from backend.internal.user_code_gen import generate_user_code @@ -23,31 +24,35 @@ class User(UserBase, table=True): comments: list["Comment"] = Relationship(back_populates="user") - def factory(self, - id: uuid.UUID = uuid.uuid7(), + @classmethod + def factory(cls, + id: uuid.UUID | None = None, email: str = "Email@Test.mail", name: str = "TestName", user_code: str = "WYZZ", subscription: bool = False, - ) -> User: - self.id=id - self.email=email - self.name=name - self.user_code=user_code - self.subscription=subscription - return self + ) -> "User": + return cls( + id=id or uuid.uuid7(), + email=email, + name=name, + user_code=user_code, + subscription=subscription, + ) class NewUser(UserBase): email: str name: str subscription: bool - def factory(self, + @classmethod + def factory(cls, email: str = "Email@Test.mail", name: str = "TestName", subscription: bool = False - ) -> NewUser: - self.email = email - self.name = name - self.subscription = subscription - return self + ) -> "NewUser": + return cls( + email = email, + name = name, + subscription = subscription + ) diff --git a/backend/src/backend/routers/__pycache__/__init__.cpython-314.pyc b/backend/src/backend/routers/__pycache__/__init__.cpython-314.pyc index 5cd87a4..dfd4726 100644 Binary files a/backend/src/backend/routers/__pycache__/__init__.cpython-314.pyc and b/backend/src/backend/routers/__pycache__/__init__.cpython-314.pyc differ diff --git a/backend/src/backend/routers/__pycache__/comments.cpython-314.pyc b/backend/src/backend/routers/__pycache__/comments.cpython-314.pyc index 6619cab..9d07c29 100644 Binary files a/backend/src/backend/routers/__pycache__/comments.cpython-314.pyc and b/backend/src/backend/routers/__pycache__/comments.cpython-314.pyc differ diff --git a/backend/src/backend/routers/__pycache__/test_users.cpython-314-pytest-9.1.1.pyc b/backend/src/backend/routers/__pycache__/test_users.cpython-314-pytest-9.1.1.pyc index ede2373..765dc79 100644 Binary files a/backend/src/backend/routers/__pycache__/test_users.cpython-314-pytest-9.1.1.pyc and b/backend/src/backend/routers/__pycache__/test_users.cpython-314-pytest-9.1.1.pyc differ diff --git a/backend/src/backend/routers/__pycache__/users.cpython-314.pyc b/backend/src/backend/routers/__pycache__/users.cpython-314.pyc index c8ac1e3..7942b1e 100644 Binary files a/backend/src/backend/routers/__pycache__/users.cpython-314.pyc and b/backend/src/backend/routers/__pycache__/users.cpython-314.pyc differ diff --git a/backend/src/backend/routers/users.py b/backend/src/backend/routers/users.py index bc502e0..8d16631 100644 --- a/backend/src/backend/routers/users.py +++ b/backend/src/backend/routers/users.py @@ -1,6 +1,6 @@ +from starlette.status import HTTP_400_BAD_REQUEST,HTTP_401_UNAUTHORIZED from fastapi import Form from sqlmodel import select -from starlette.status import HTTP_400_BAD_REQUEST from fastapi import HTTPException from sqlalchemy.exc import IntegrityError from backend.models.user import User @@ -34,7 +34,7 @@ def login(user_code: str = Form(), session: Session = Depends(get_session)) -> s user = session.exec(select(User).where(User.user_code == user_code)).one if not user: - raise HTTPException() + raise HTTPException(HTTP_401_UNAUTHORIZED) return "token" diff --git a/backend/src/test/__pycache__/test_users.cpython-314-pytest-9.1.1.pyc b/backend/src/test/__pycache__/test_users.cpython-314-pytest-9.1.1.pyc new file mode 100644 index 0000000..8940c53 Binary files /dev/null and b/backend/src/test/__pycache__/test_users.cpython-314-pytest-9.1.1.pyc differ diff --git a/backend/src/test/routers/__pycache__/test_users.cpython-314-pytest-9.1.1.pyc b/backend/src/test/routers/__pycache__/test_users.cpython-314-pytest-9.1.1.pyc new file mode 100644 index 0000000..337e8eb Binary files /dev/null and b/backend/src/test/routers/__pycache__/test_users.cpython-314-pytest-9.1.1.pyc differ diff --git a/backend/src/backend/routers/test_users.py b/backend/src/test/routers/test_users.py similarity index 90% rename from backend/src/backend/routers/test_users.py rename to backend/src/test/routers/test_users.py index e31b0d1..f988d9d 100644 --- a/backend/src/backend/routers/test_users.py +++ b/backend/src/test/routers/test_users.py @@ -48,7 +48,7 @@ def test_register_user_saved(session:Session, client: TestClient): assert db_user.subscription == True def test_email_not_unique_returns_400(session: Session, client: TestClient): - new_user = NewUser(email="NotUnique",name="Müller", subscription=True) # TODO: durch factory ersetzen + new_user = NewUser.factory(email="NotUnique") user = User().factory(email="NotUnique") session.add(user) @@ -57,9 +57,9 @@ def test_email_not_unique_returns_400(session: Session, client: TestClient): assert response.status_code == 400 def test_name_not_unique_returns_400(session: Session, client: TestClient): - new_user = NewUser(email="wewqe@2ewew",name="Chiara", subscription=True) # TODO: durch factory ersetzen + new_user = NewUser.factory(email="other@other") - user = User().factory(name="Chiara") + user = User().factory() session.add(user) session.commit() response = client.post(url="/users/", json=new_user.model_dump())