|
|
@@ -10,6 +10,7 @@ from app.tests.conftest import (
|
|
|
default_project_id,
|
|
|
default_slot_id,
|
|
|
default_volunteer_id,
|
|
|
+ default_template_id,
|
|
|
)
|
|
|
|
|
|
|
|
|
@@ -197,6 +198,41 @@ async def test_update_slot(
|
|
|
assert response.json()[k] == v
|
|
|
|
|
|
|
|
|
+async def test_update_slot_remove_template(
|
|
|
+ client: AsyncClient,
|
|
|
+ default_public_project: Project,
|
|
|
+ default_user_headers: dict,
|
|
|
+ session: Session,
|
|
|
+):
|
|
|
+ response = await client.post(
|
|
|
+ app.url_path_for(
|
|
|
+ "update_slot",
|
|
|
+ project_id=default_project_id,
|
|
|
+ slot_id=default_slot_id,
|
|
|
+ ),
|
|
|
+ json={"template_id": default_template_id},
|
|
|
+ headers=default_user_headers,
|
|
|
+ )
|
|
|
+ assert response.status_code == 200
|
|
|
+ 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(
|
|
|
+ app.url_path_for(
|
|
|
+ "update_slot",
|
|
|
+ project_id=default_project_id,
|
|
|
+ slot_id=default_slot_id,
|
|
|
+ ),
|
|
|
+ json={"template_id": ""},
|
|
|
+ headers=default_user_headers,
|
|
|
+ )
|
|
|
+ assert response.status_code == 200
|
|
|
+ session.refresh(slot)
|
|
|
+ assert slot.template_id is None
|
|
|
+
|
|
|
+
|
|
|
async def test_update_bad_slot_template(
|
|
|
client: AsyncClient,
|
|
|
default_public_project: Project,
|