← Back to All Reports
PARTIALLY PASSED (86%)
Job Name
chat_based_editor_prod
Pipeline ID
Job ID
#4433134
Branch
master
Commit
N/A
Executed At
2026-10-04T00:18:07.940406
19
Passed
3
Failed
0
Skipped

Test Results (22 tests)

test_cbe01_cbe_service_chains_sanity[chromium-caption]
passed
⏱️ Duration: 16.83s
test_cbe01_cbe_service_chains_sanity[chromium-linebreak]
passed
⏱️ Duration: 14.18s
test_cbe01_cbe_service_chains_sanity[chromium-music]
passed
⏱️ Duration: 15.46s
test_cbe01_cbe_service_chains_sanity[chromium-outro_values]
passed
⏱️ Duration: 16.50s
test_cbe01_cbe_service_chains_sanity[chromium-remove_scene]
passed
⏱️ Duration: 16.36s
test_cbe01_cbe_service_chains_sanity[chromium-text_color]
passed
⏱️ Duration: 14.55s
test_cbe01_cbe_service_chains_sanity[chromium-text_font]
failed
⏱️ Duration: 74.69s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7fcaf51891e0> login_page = <pages.login_page.LoginPage object at 0x7fcaf4268c40> autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7fcaf426b670> base_url = 'https://promo.com', prompt_key = 'text_font' @pytest.mark.skip_smoke @pytest.mark.parametrize("prompt_key", [ "caption", "linebreak", "music", "outro_values", "remove_scene", "text_color", "text_font", "logo", "text_position", "translation", "add_scene", "change_watermark", ]) def test_cbe01_cbe_service_chains_sanity( self, login_page, autopilot_page, base_url, prompt_key ): """ CBE01 CBE service chains sanity Login as AI user → open Planner → ensure AI posts exist → open 1st non-voice-over AI post that offers CBE → open CBE → send prompt → verify AI response → verify save enabled → verify discard popup → save video. """ login_page.login_directly(base_url, email_ai, get_password()) autopilot_page.go_to_planner(base_url) autopilot_page.ensure_ai_posts_exist() autopilot_page.open_first_ai_post_with_cbe(start=1, skip_voice_over=True) autopilot_page.open_cbe() autopilot_page.send_cbe_prompt_and_wait(CBE_PROMPTS[prompt_key]) # text_font / text_position are known to be slower on the backend to # apply and enable Save (documented flaky report in migration_log.md); # give them extra headroom instead of the default 30s. save_timeout = 60_000 if prompt_key in ("text_font", "text_position") else 30_000 > autopilot_page.verify_cbe_save_enabled(timeout=save_timeout) tests/test_chat_based_editor.py:86: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pages.autopilot_page.AutopilotPage object at 0x7fcaf426b670> timeout = 60000
📸 Failure Screenshot:
Test failure screenshot
test_cbe01_cbe_service_chains_sanity[chromium-logo]
passed
⏱️ Duration: 13.86s
test_cbe01_cbe_service_chains_sanity[chromium-text_position]
passed
⏱️ Duration: 15.48s
test_cbe01_cbe_service_chains_sanity[chromium-translation]
passed
⏱️ Duration: 14.90s
test_cbe01_cbe_service_chains_sanity[chromium-add_scene]
passed
⏱️ Duration: 17.66s
test_cbe01_cbe_service_chains_sanity[chromium-change_watermark]
passed
⏱️ Duration: 14.20s
test_cbe02_cbe_should_work_in_all_ratios[chromium-wide]
passed
⏱️ Duration: 24.25s
test_cbe02_cbe_should_work_in_all_ratios[chromium-vertical]
passed
⏱️ Duration: 25.28s
test_cbe03_replace_a_clip[chromium-stock_video]
passed
⏱️ Duration: 14.11s
test_cbe03_replace_a_clip[chromium-stock_photo]
passed
⏱️ Duration: 15.54s
test_cbe03_replace_a_clip[chromium-uploaded_video]
passed
⏱️ Duration: 13.24s
test_cbe03_replace_a_clip[chromium-uploaded_photo]
passed
⏱️ Duration: 13.72s
test_cbe04_upload_via_filestack_url[chromium-video]
failed
⏱️ Duration: 164.41s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7fcaf518a050> login_page = <pages.login_page.LoginPage object at 0x7fcaed929630> autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7fcaed92a590> base_url = 'https://promo.com', asset = 'video' @pytest.mark.parametrize("asset", ["video", "photo"]) def test_cbe04_upload_via_filestack_url( self, login_page, autopilot_page, base_url, asset ): """ CBE04 Upload via Filestack URL Login as AI user → open Planner → open 1st non-voice-over AI post with CBE → open CBE → send uploaded_video prompt → import asset via Filestack URL → verify progress bar + upload complete + tab redirect. """ url = filestack_upload_video_url if asset == "video" else filestack_upload_photo_url login_page.login_directly(base_url, email_ai, get_password()) autopilot_page.go_to_planner(base_url) autopilot_page.ensure_ai_posts_exist(min_count=1) > autopilot_page.open_first_ai_post_with_cbe(start=1, skip_voice_over=True) tests/test_chat_based_editor.py:164: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pages.autopilot_page.AutopilotPage object at 0x7fcaed92a590>, start = 1 max_scan = 13, skip_voice_over = True def open_first_ai_post_with_cbe( self, start: int = 1, max_scan: int = None, skip_voice_over: bool = False ) -> int: """ Opens AI posts starting at `start`, skipping any that don't offer the CBE (chat-to-edit) button, and leaves the first eligible one open. Returns the 1-based index of the post that was opened. `email_ai` is a shared/persistent prod account: once a post is already Rated (by this run or an earlier one), Promo's UI removes the chat and regenerate controls from its preview entirely — confirmed via DOM inspection, not just a slow render. A hardcoded p
📸 Failure Screenshot:
Test failure screenshot
test_cbe04_upload_via_filestack_url[chromium-photo]
failed
⏱️ Duration: 164.90s
❌ Error:
self = <tests.test_chat_based_editor.TestChatBasedEditor object at 0x7fcaf51889d0> login_page = <pages.login_page.LoginPage object at 0x7fcaefefd270> autopilot_page = <pages.autopilot_page.AutopilotPage object at 0x7fcaefefeef0> base_url = 'https://promo.com', asset = 'photo' @pytest.mark.parametrize("asset", ["video", "photo"]) def test_cbe04_upload_via_filestack_url( self, login_page, autopilot_page, base_url, asset ): """ CBE04 Upload via Filestack URL Login as AI user → open Planner → open 1st non-voice-over AI post with CBE → open CBE → send uploaded_video prompt → import asset via Filestack URL → verify progress bar + upload complete + tab redirect. """ url = filestack_upload_video_url if asset == "video" else filestack_upload_photo_url login_page.login_directly(base_url, email_ai, get_password()) autopilot_page.go_to_planner(base_url) autopilot_page.ensure_ai_posts_exist(min_count=1) > autopilot_page.open_first_ai_post_with_cbe(start=1, skip_voice_over=True) tests/test_chat_based_editor.py:164: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <pages.autopilot_page.AutopilotPage object at 0x7fcaefefeef0>, start = 1 max_scan = 13, skip_voice_over = True def open_first_ai_post_with_cbe( self, start: int = 1, max_scan: int = None, skip_voice_over: bool = False ) -> int: """ Opens AI posts starting at `start`, skipping any that don't offer the CBE (chat-to-edit) button, and leaves the first eligible one open. Returns the 1-based index of the post that was opened. `email_ai` is a shared/persistent prod account: once a post is already Rated (by this run or an earlier one), Promo's UI removes the chat and regenerate controls from its preview entirely — confirmed via DOM inspection, not just a slow render. A hardcoded p
📸 Failure Screenshot:
Test failure screenshot
test_cbe05_voice_changes_not_possible_for_non_narrated_videos[chromium]
passed
⏱️ Duration: 13.57s
test_cbe06_upload_via_filestack_facebook_page[chromium]
passed
⏱️ Duration: 28.95s