feat(agent-office): issue_approve/reject/regen 콜백 처리

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-11 02:38:56 +09:00
parent 7c5ca15b64
commit bc0f583a0f
2 changed files with 58 additions and 0 deletions

View File

@@ -47,3 +47,29 @@ async def test_autonomous_issue_previews_eligible(monkeypatch):
await agent.on_schedule()
assert preview.await_count == 1
assert preview.await_args.args[0]["id"] == 1
@pytest.mark.asyncio
async def test_callback_approve_publishes_and_delivers(monkeypatch):
agent = InstaAgent()
monkeypatch.setattr("app.agents.insta.service_proxy.insta_decision",
AsyncMock(return_value={"status": "published"}))
monkeypatch.setattr("app.agents.insta.service_proxy.insta_get_slate", AsyncMock(return_value={
"assets": [{"page_index": i} for i in range(1, 11)],
"suggested_caption": "cap", "hashtags": ["#a"]}))
monkeypatch.setattr("app.agents.insta.service_proxy.insta_get_asset_bytes", AsyncMock(return_value=b"png"))
monkeypatch.setattr("app.agents.insta._send_media_group", AsyncMock(return_value={"ok": True}))
monkeypatch.setattr("app.agents.insta.messaging.send_raw", AsyncMock())
res = await agent.on_callback("issue_approve", {"slate_id": 8})
assert res["ok"] is True
@pytest.mark.asyncio
async def test_callback_reject_marks_rejected(monkeypatch):
agent = InstaAgent()
dec = AsyncMock(return_value={"status": "rejected"})
monkeypatch.setattr("app.agents.insta.service_proxy.insta_decision", dec)
monkeypatch.setattr("app.agents.insta.messaging.send_raw", AsyncMock())
res = await agent.on_callback("issue_reject", {"slate_id": 8})
assert res["ok"] is True
dec.assert_awaited_once_with(8, "rejected")