feat: add generation trace and partial-ready workflow status
This commit is contained in:
@@ -76,7 +76,8 @@ class TestStoryGenerate:
|
||||
assert "title" in data
|
||||
assert "story_text" in data
|
||||
assert data["mode"] == "generated"
|
||||
assert data["generation_status"] == "narrative_ready"
|
||||
assert data["generation_status"] == "partial_ready"
|
||||
assert data["text_status"] == "ready"
|
||||
assert data["image_status"] == "not_requested"
|
||||
assert data["audio_status"] == "not_requested"
|
||||
assert data["last_error"] is None
|
||||
@@ -101,7 +102,8 @@ class TestStoryList:
|
||||
assert len(data) == 1
|
||||
assert data[0]["id"] == test_story.id
|
||||
assert data[0]["title"] == test_story.title
|
||||
assert data[0]["generation_status"] == "narrative_ready"
|
||||
assert data[0]["generation_status"] == "partial_ready"
|
||||
assert data[0]["text_status"] == "ready"
|
||||
assert data[0]["image_status"] == "not_requested"
|
||||
assert data[0]["audio_status"] == "not_requested"
|
||||
|
||||
@@ -133,7 +135,8 @@ class TestStoryDetail:
|
||||
assert data["id"] == test_story.id
|
||||
assert data["title"] == test_story.title
|
||||
assert data["story_text"] == test_story.story_text
|
||||
assert data["generation_status"] == "narrative_ready"
|
||||
assert data["generation_status"] == "partial_ready"
|
||||
assert data["text_status"] == "ready"
|
||||
assert data["image_status"] == "not_requested"
|
||||
assert data["audio_status"] == "not_requested"
|
||||
assert data["last_error"] is None
|
||||
@@ -250,7 +253,7 @@ class TestAudio:
|
||||
detail_response = auth_client.get(f"/api/stories/{test_story.id}")
|
||||
detail = detail_response.json()
|
||||
assert detail["audio_status"] == "ready"
|
||||
assert detail["generation_status"] == "completed"
|
||||
assert detail["generation_status"] == "partial_ready"
|
||||
assert detail["last_error"] is None
|
||||
|
||||
def test_get_audio_regenerates_when_cache_file_is_missing(
|
||||
@@ -335,7 +338,7 @@ class TestGenerateFull:
|
||||
assert data["image_url"] == "https://example.com/image.png"
|
||||
assert data["audio_ready"] is False
|
||||
assert data["errors"] == {}
|
||||
assert data["generation_status"] == "completed"
|
||||
assert data["generation_status"] == "partial_ready"
|
||||
assert data["image_status"] == "ready"
|
||||
assert data["audio_status"] == "not_requested"
|
||||
assert data["last_error"] is None
|
||||
@@ -412,7 +415,7 @@ class TestUnifiedGenerations:
|
||||
assert data["image_url"] == "https://example.com/image.png"
|
||||
assert data["cover_url"] == "https://example.com/image.png"
|
||||
assert data["pages"] is None
|
||||
assert data["generation_status"] == "completed"
|
||||
assert data["generation_status"] == "partial_ready"
|
||||
assert data["image_status"] == "ready"
|
||||
assert data["audio_status"] == "not_requested"
|
||||
assert data["errors"] == {}
|
||||
@@ -436,7 +439,7 @@ class TestUnifiedGenerations:
|
||||
data = response.json()
|
||||
assert data["mode"] == "generated"
|
||||
assert data["image_url"] is None
|
||||
assert data["generation_status"] == "narrative_ready"
|
||||
assert data["generation_status"] == "partial_ready"
|
||||
assert data["image_status"] == "not_requested"
|
||||
|
||||
def test_create_story_generation_image_failure(
|
||||
@@ -530,7 +533,7 @@ class TestUnifiedGenerations:
|
||||
assert response.status_code == 200
|
||||
data = response.json()
|
||||
assert data["image_url"] == "https://example.com/image.png"
|
||||
assert data["generation_status"] == "completed"
|
||||
assert data["generation_status"] == "partial_ready"
|
||||
assert data["image_status"] == "ready"
|
||||
|
||||
|
||||
@@ -551,7 +554,7 @@ class TestImageGenerateSuccess:
|
||||
)
|
||||
data = response.json()
|
||||
assert data["image_url"] == "https://example.com/image.png"
|
||||
assert data["generation_status"] == "completed"
|
||||
assert data["generation_status"] == "partial_ready"
|
||||
assert data["image_status"] == "ready"
|
||||
assert data["audio_status"] == "not_requested"
|
||||
assert data["last_error"] is None
|
||||
@@ -578,7 +581,7 @@ class TestAssetRetry:
|
||||
)
|
||||
data = response.json()
|
||||
assert data["image_url"] == "https://example.com/image.png"
|
||||
assert data["generation_status"] == "completed"
|
||||
assert data["generation_status"] == "partial_ready"
|
||||
assert data["image_status"] == "ready"
|
||||
assert data["audio_status"] == "not_requested"
|
||||
assert data["last_error"] is None
|
||||
@@ -629,7 +632,7 @@ class TestAssetRetry:
|
||||
|
||||
assert response.status_code == 200
|
||||
data = response.json()
|
||||
assert data["generation_status"] == "completed"
|
||||
assert data["generation_status"] == "partial_ready"
|
||||
assert data["image_status"] == "not_requested"
|
||||
assert data["audio_status"] == "ready"
|
||||
assert data["last_error"] is None
|
||||
|
||||
Reference in New Issue
Block a user