diff --git a/src/apps/activities/api/activities.py b/src/apps/activities/api/activities.py index da56b96a32a..be302d1cf17 100644 --- a/src/apps/activities/api/activities.py +++ b/src/apps/activities/api/activities.py @@ -19,6 +19,7 @@ from apps.activities.domain.activity_item import ( ActivityItemSingleLanguageDetail, ) +from apps.activities.errors import ActivityDoeNotExist from apps.activities.filters import AppletActivityFilter from apps.activities.services.activity import ActivityItemService, ActivityService from apps.activity_assignments.service import ActivityAssignmentService @@ -126,6 +127,8 @@ async def activity_retrieve( await CheckAccessService(session, user.id).check_applet_detail_access(applet_id) else: schema = await ActivitiesCRUD(session).get_by_id(activity_id) + if schema is None: + raise ActivityDoeNotExist() await CheckAccessService(session, user.id).check_applet_detail_access(schema.applet_id) activity = await ActivityService(session, user.id).get_single_language_by_id(activity_id, language) result = ActivitySingleLanguageWithItemsDetailPublic.model_validate(activity) diff --git a/src/apps/answers/tests/test_cross_version_flow.py b/src/apps/answers/tests/test_cross_version_flow.py index e4ead8a772b..3930896a140 100644 --- a/src/apps/answers/tests/test_cross_version_flow.py +++ b/src/apps/answers/tests/test_cross_version_flow.py @@ -232,11 +232,11 @@ async def test_fetch_deleted_activity_from_history( update_data = AppletUpdate(**data) await srv.update(applet_with_flow.id, update_data) - # Fetching the deleted activity without version should fail + # Fetching the deleted activity without version should return 404 response = await client.get( self.activity_url.format(activity_id=original_activity.id), ) - assert response.status_code != http.HTTPStatus.OK + assert response.status_code == http.HTTPStatus.NOT_FOUND # Fetching with the original version should succeed from history response = await client.get(