Advance issue status from repair actions
Magent CI/CD / verify (push) Successful in 10m30s
Magent CI/CD / deploy-prod (push) Skipped
Magent CI/CD / deploy-beta (push) Canceled after 5s

This commit is contained in:
2026-09-01 14:48:08 +12:00
parent c7a56f2525
commit 16876e1cf0
2 changed files with 33 additions and 0 deletions
+20
View File
@@ -1271,6 +1271,21 @@ class AuthFlowTests(TempDatabaseMixin, unittest.IsolatedAsyncioTestCase):
class MediaReplacementTests(unittest.IsolatedAsyncioTestCase):
def test_failed_repair_marks_linked_issue_as_blocked(self) -> None:
issue = {"id": 12, "status": "in_progress"}
with (
patch.object(requests_router, "update_portal_item") as update_issue,
patch.object(requests_router, "add_portal_item_activity"),
):
requests_router._record_replacement_activity(
issue,
user={"username": "viewer", "role": "user"},
event_type="replacement_failed",
message="Radarr could not start the replacement.",
)
update_issue.assert_called_once_with(12, status="blocked", issue_resolved_at=None)
async def test_movie_replacement_validates_file_then_deletes_and_searches(self) -> None:
snapshot = Snapshot(
request_id="3914",
@@ -1315,6 +1330,7 @@ class MediaReplacementTests(unittest.IsolatedAsyncioTestCase):
"created_by_username": "admin",
},
),
patch.object(requests_router, "update_portal_item") as update_issue,
patch.object(requests_router, "add_portal_item_activity") as add_activity,
):
result = await requests_router.action_replace_media(
@@ -1328,6 +1344,7 @@ class MediaReplacementTests(unittest.IsolatedAsyncioTestCase):
radarr.search.assert_awaited_once_with(44)
add_activity.assert_called_once()
self.assertEqual(add_activity.call_args.kwargs["event_type"], "replacement_started")
update_issue.assert_called_once_with(12, status="in_progress", issue_resolved_at=None)
async def test_tv_replacement_options_return_only_safe_file_details(self) -> None:
snapshot = Snapshot(
@@ -1470,6 +1487,7 @@ class MediaReplacementTests(unittest.IsolatedAsyncioTestCase):
"external_ref": "/requests/3909",
"created_by_username": "viewer",
}),
patch.object(requests_router, "update_portal_item"),
patch.object(requests_router, "add_portal_item_activity"),
):
result = await requests_router.action_replace_media(
@@ -1510,6 +1528,7 @@ class MediaReplacementTests(unittest.IsolatedAsyncioTestCase):
"external_ref": "/requests/3914",
"created_by_username": "viewer",
}),
patch.object(requests_router, "update_portal_item") as update_issue,
patch.object(requests_router, "add_portal_item_activity") as add_activity,
):
result = await requests_router.action_repair_subtitles(
@@ -1521,6 +1540,7 @@ class MediaReplacementTests(unittest.IsolatedAsyncioTestCase):
self.assertEqual(result["status"], "ok")
bazarr.search_movie_subtitles.assert_awaited_once_with(44, language="en", forced=True)
self.assertEqual(add_activity.call_args.kwargs["event_type"], "subtitle_repair_started")
update_issue.assert_called_once_with(12, status="in_progress", issue_resolved_at=None)
class PortalMediaStatusTests(unittest.IsolatedAsyncioTestCase):