fixed factories
This commit is contained in:
parent
0049defe8a
commit
93de81cf86
17 changed files with 25 additions and 20 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -1,3 +1,4 @@
|
||||||
|
from sqlmodel._compat import ConfigDict
|
||||||
from uuid import uuid7
|
from uuid import uuid7
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from backend.internal.user_code_gen import generate_user_code
|
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")
|
comments: list["Comment"] = Relationship(back_populates="user")
|
||||||
|
|
||||||
def factory(self,
|
@classmethod
|
||||||
id: uuid.UUID = uuid.uuid7(),
|
def factory(cls,
|
||||||
|
id: uuid.UUID | None = None,
|
||||||
email: str = "Email@Test.mail",
|
email: str = "Email@Test.mail",
|
||||||
name: str = "TestName",
|
name: str = "TestName",
|
||||||
user_code: str = "WYZZ",
|
user_code: str = "WYZZ",
|
||||||
subscription: bool = False,
|
subscription: bool = False,
|
||||||
) -> User:
|
) -> "User":
|
||||||
self.id=id
|
return cls(
|
||||||
self.email=email
|
id=id or uuid.uuid7(),
|
||||||
self.name=name
|
email=email,
|
||||||
self.user_code=user_code
|
name=name,
|
||||||
self.subscription=subscription
|
user_code=user_code,
|
||||||
return self
|
subscription=subscription,
|
||||||
|
)
|
||||||
|
|
||||||
class NewUser(UserBase):
|
class NewUser(UserBase):
|
||||||
email: str
|
email: str
|
||||||
name: str
|
name: str
|
||||||
subscription: bool
|
subscription: bool
|
||||||
|
|
||||||
def factory(self,
|
@classmethod
|
||||||
|
def factory(cls,
|
||||||
email: str = "Email@Test.mail",
|
email: str = "Email@Test.mail",
|
||||||
name: str = "TestName",
|
name: str = "TestName",
|
||||||
subscription: bool = False
|
subscription: bool = False
|
||||||
) -> NewUser:
|
) -> "NewUser":
|
||||||
self.email = email
|
return cls(
|
||||||
self.name = name
|
email = email,
|
||||||
self.subscription = subscription
|
name = name,
|
||||||
return self
|
subscription = subscription
|
||||||
|
)
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -1,6 +1,6 @@
|
||||||
|
from starlette.status import HTTP_400_BAD_REQUEST,HTTP_401_UNAUTHORIZED
|
||||||
from fastapi import Form
|
from fastapi import Form
|
||||||
from sqlmodel import select
|
from sqlmodel import select
|
||||||
from starlette.status import HTTP_400_BAD_REQUEST
|
|
||||||
from fastapi import HTTPException
|
from fastapi import HTTPException
|
||||||
from sqlalchemy.exc import IntegrityError
|
from sqlalchemy.exc import IntegrityError
|
||||||
from backend.models.user import User
|
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
|
user = session.exec(select(User).where(User.user_code == user_code)).one
|
||||||
|
|
||||||
if not user:
|
if not user:
|
||||||
raise HTTPException()
|
raise HTTPException(HTTP_401_UNAUTHORIZED)
|
||||||
return "token"
|
return "token"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
|
|
@ -48,7 +48,7 @@ def test_register_user_saved(session:Session, client: TestClient):
|
||||||
assert db_user.subscription == True
|
assert db_user.subscription == True
|
||||||
|
|
||||||
def test_email_not_unique_returns_400(session: Session, client: TestClient):
|
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")
|
user = User().factory(email="NotUnique")
|
||||||
session.add(user)
|
session.add(user)
|
||||||
|
|
@ -57,9 +57,9 @@ def test_email_not_unique_returns_400(session: Session, client: TestClient):
|
||||||
assert response.status_code == 400
|
assert response.status_code == 400
|
||||||
|
|
||||||
def test_name_not_unique_returns_400(session: Session, client: TestClient):
|
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.add(user)
|
||||||
session.commit()
|
session.commit()
|
||||||
response = client.post(url="/users/", json=new_user.model_dump())
|
response = client.post(url="/users/", json=new_user.model_dump())
|
||||||
Loading…
Add table
Reference in a new issue