Adapt tests for project and tag to fetching via id

This commit is contained in:
linuskmr 2021-12-25 18:47:27 +01:00
parent f20423280b
commit abf61d651c
2 changed files with 25 additions and 18 deletions

View file

@ -26,11 +26,12 @@ def test_project_get(client: TestClient, session: Session):
project = Project(name="Uni", creation_date=datetime.now())
session.add(project)
session.commit()
session.refresh(project)
# Request data from API
response = client.get("/projects/Uni")
response = client.get(f"/projects/{project.id}")
response_data = response.json()
assert response.status_code == status.HTTP_200_OK
assert response_data["id"] # Not empty?
assert response_data["id"] == project.id
assert response_data["name"] == project.name
assert response_data["creation_date"] == project.creation_date.isoformat()
@ -40,12 +41,13 @@ def test_project_update(client: TestClient, session: Session):
project = Project(name="Uni", creation_date=datetime.now())
session.add(project)
session.commit()
session.refresh(project)
# Perform update via API
project_updates = {"name": "UNI"}
response = client.patch("/projects/Uni", json=project_updates)
response = client.patch(f"/projects/{project.id}", json=project_updates)
response_data = response.json()
assert response.status_code == status.HTTP_200_OK
assert response_data["id"] # Not empty?
assert response_data["id"] == project.id
assert response_data["name"] == project_updates["name"]
assert response_data["creation_date"] == project.creation_date.isoformat()
@ -55,21 +57,22 @@ def test_project_delete(client: TestClient, session: Session):
project = Project(name="Uni", creation_date=datetime.now())
session.add(project)
session.commit()
session.refresh(project)
# Delete via API
response = client.delete("/projects/Uni")
response_data = response.json()
response = client.delete(f"/projects/{project.id}")
assert response.status_code == status.HTTP_204_NO_CONTENT
assert session.exec(select(Project).where(Project.name == "Uni")).first() is None # Element deleted from database?
def test_project_get_list(client: TestClient, session: Session):
pass
# Fill database
project_uni = Project(name="Uni", creation_date=datetime.now())
project_sport = Project(name="Sport", creation_date=datetime.now())
session.add(project_uni)
session.add(project_sport)
session.commit()
session.refresh(project_uni)
session.refresh(project_sport)
# Request data from API
response = client.get("/projects/")
response_data = response.json()
@ -77,9 +80,9 @@ def test_project_get_list(client: TestClient, session: Session):
assert len(response_data) == 2
assert response_data[0]["name"] == project_uni.name
assert response_data[0]["id"] # Not empty?
assert response_data[0]["id"] == project_uni.id
assert response_data[0]["creation_date"] == project_uni.creation_date.isoformat()
assert response_data[1]["name"] == project_sport.name
assert response_data[1]["id"] # Not empty?
assert response_data[1]["id"] == project_sport.id
assert response_data[1]["creation_date"] == project_sport.creation_date.isoformat()

View file

@ -21,11 +21,13 @@ def test_tag_get(client: TestClient, session: Session):
tag = Tag(name="Uni")
session.add(tag)
session.commit()
session.refresh(tag)
# Request data from API
response = client.get("/tags/Uni")
print(f"get tag {tag.id}")
response = client.get(f"/tags/{tag.id}")
response_data = response.json()
assert response.status_code == status.HTTP_200_OK
assert response_data["id"] # Not empty?
assert response_data["id"] == tag.id
assert response_data["name"] == tag.name
@ -34,12 +36,13 @@ def test_tag_update(client: TestClient, session: Session):
tag = Tag(name="Uni")
session.add(tag)
session.commit()
session.refresh(tag)
# Perform update via API
tag_updates = {"name": "UNI"}
response = client.patch("/tags/Uni", json=tag_updates)
response = client.patch(f"/tags/{tag.id}", json=tag_updates)
response_data = response.json()
assert response.status_code == status.HTTP_200_OK
assert response_data["id"] # Not empty?
assert response_data["id"] == tag.id
assert response_data["name"] == tag_updates["name"]
@ -48,21 +51,22 @@ def test_tag_delete(client: TestClient, session: Session):
tag = Tag(name="Uni")
session.add(tag)
session.commit()
session.refresh(tag)
# Delete via API
response = client.delete("/tags/Uni")
response_data = response.json()
response = client.delete(f"/tags/{tag.id}")
assert response.status_code == status.HTTP_204_NO_CONTENT
assert session.exec(select(Tag).where(Tag.name == "Uni")).first() is None # Element deleted from database?
def test_tag_get_list(client: TestClient, session: Session):
pass
# Fill database
tag_uni = Tag(name="Uni", creation_date=datetime.now())
tag_sport = Tag(name="Sport", creation_date=datetime.now())
session.add(tag_uni)
session.add(tag_sport)
session.commit()
session.refresh(tag_uni)
session.refresh(tag_sport)
# Request data from API
response = client.get("/tags/")
response_data = response.json()
@ -70,7 +74,7 @@ def test_tag_get_list(client: TestClient, session: Session):
assert len(response_data) == 2
assert response_data[0]["name"] == tag_uni.name
assert response_data[0]["id"] # Not empty?
assert response_data[0]["id"] == tag_uni.id
assert response_data[1]["name"] == tag_sport.name
assert response_data[1]["id"] # Not empty?
assert response_data[1]["id"] == tag_sport.id