|
|
@@ -52,9 +52,7 @@ async def test_create_slot(
|
|
|
session: Session,
|
|
|
):
|
|
|
# Test without autentication
|
|
|
- response = await client.post(
|
|
|
- app.url_path_for("create_slot", project_id=default_project_id)
|
|
|
- )
|
|
|
+ response = await client.post(app.url_path_for("create_slot", project_id=default_project_id))
|
|
|
assert response.status_code == 401
|
|
|
starting_time = datetime(1900, 1, 1)
|
|
|
payload = {
|
|
|
@@ -86,9 +84,9 @@ async def test_create_slot(
|
|
|
slot = [s for s in slots if s.id != default_slot_id][0]
|
|
|
assert slot.title == "être mort"
|
|
|
assert slot.required_volunteers == 0
|
|
|
- assert abs(
|
|
|
- slot.starting_time - starting_time.replace(tzinfo=timezone.utc)
|
|
|
- ) < timedelta(minutes=30)
|
|
|
+ assert abs(slot.starting_time - starting_time.replace(tzinfo=timezone.utc)) < timedelta(
|
|
|
+ minutes=30
|
|
|
+ )
|
|
|
|
|
|
# Test invalid payload
|
|
|
del payload["title"]
|
|
|
@@ -191,9 +189,7 @@ async def test_update_slot(
|
|
|
assert response.status_code == 200
|
|
|
assert response.json()["id"] == default_slot_id
|
|
|
if "time" in k:
|
|
|
- assert datetime.fromisoformat(response.json()[k]) == datetime.fromisoformat(
|
|
|
- v
|
|
|
- )
|
|
|
+ assert datetime.fromisoformat(response.json()[k]) == datetime.fromisoformat(v)
|
|
|
else:
|
|
|
assert response.json()[k] == v
|
|
|
|
|
|
@@ -214,9 +210,7 @@ async def test_update_slot_remove_template(
|
|
|
headers=default_user_headers,
|
|
|
)
|
|
|
assert response.status_code == 200
|
|
|
- slot = session.execute(
|
|
|
- select(Slot).where(Slot.project_id == default_project_id)
|
|
|
- ).scalar_one()
|
|
|
+ slot = session.execute(select(Slot).where(Slot.project_id == default_project_id)).scalar_one()
|
|
|
assert slot.template_id == default_template_id
|
|
|
|
|
|
response = await client.post(
|
|
|
@@ -310,9 +304,7 @@ async def test_update_slot_volunteers(
|
|
|
)
|
|
|
|
|
|
assert response.status_code == 200
|
|
|
- result = session.execute(
|
|
|
- select(Volunteer).where(Volunteer.id == default_volunteer_id)
|
|
|
- )
|
|
|
+ result = session.execute(select(Volunteer).where(Volunteer.id == default_volunteer_id))
|
|
|
volunteer = result.scalars().first()
|
|
|
assert volunteer is not None
|
|
|
assert volunteer.slots_id == []
|
|
|
@@ -380,9 +372,7 @@ async def test_delete_slot_fail(
|
|
|
|
|
|
# Cannot delete non uuid string
|
|
|
response = await client.delete(
|
|
|
- app.url_path_for(
|
|
|
- "delete_slot", project_id=default_project_id, slot_id="not uidstr"
|
|
|
- ),
|
|
|
+ app.url_path_for("delete_slot", project_id=default_project_id, slot_id="not uidstr"),
|
|
|
headers=default_user_headers,
|
|
|
)
|
|
|
assert response.status_code == 422
|
|
|
@@ -409,18 +399,14 @@ async def test_delete_slot(
|
|
|
assert slot is None
|
|
|
|
|
|
# check deletion is cascaded to volunteers
|
|
|
- result = session.execute(
|
|
|
- select(Volunteer).where(Volunteer.id == default_volunteer_id)
|
|
|
- )
|
|
|
+ result = session.execute(select(Volunteer).where(Volunteer.id == default_volunteer_id))
|
|
|
volunteer: Volunteer | None = result.scalars().first()
|
|
|
assert volunteer is not None
|
|
|
assert default_slot_id not in volunteer.slots_id
|
|
|
|
|
|
# can delete random uuid
|
|
|
response = await client.delete(
|
|
|
- app.url_path_for(
|
|
|
- "delete_slot", project_id=default_project_id, slot_id=uuid.uuid4()
|
|
|
- ),
|
|
|
+ app.url_path_for("delete_slot", project_id=default_project_id, slot_id=uuid.uuid4()),
|
|
|
headers=default_user_headers,
|
|
|
)
|
|
|
assert response.status_code == 200
|
|
|
@@ -433,9 +419,7 @@ async def test_delete_slot_idempotent(
|
|
|
default_public_project: Project,
|
|
|
):
|
|
|
# Idempotence test
|
|
|
- url = app.url_path_for(
|
|
|
- "delete_slot", project_id=default_project_id, slot_id=default_slot_id
|
|
|
- )
|
|
|
+ url = app.url_path_for("delete_slot", project_id=default_project_id, slot_id=default_slot_id)
|
|
|
response = await client.delete(url, headers=default_user_headers)
|
|
|
response = await client.delete(url, headers=default_user_headers)
|
|
|
assert response.status_code == 200
|