← Back to All Reports
TESTS FAILED (40%)
Job Name
billing_test03
Pipeline ID
Job ID
#4448380
Branch
master
Commit
N/A
Executed At
2026-10-13T08:24:33.636670
2
Passed
3
Failed
0
Skipped

Test Results (5 tests)

test_bi02_upgrade_plan_via_change_plan_button[chromium]
passed
⏱️ Duration: 45.76s
test_bi03_downgrade_plan_via_change_plan_button[chromium]
failed
⏱️ Duration: 32.37s
❌ Error:
sign_up_page = <pages.sign_up_page.SignUpPage object at 0x7f43b862b190> pricing_page = <pages.pricing_page.PricingPage object at 0x7f43b862a050> billing_page = <pages.billing_page.BillingPage object at 0x7f43b86294e0> base_url = 'https://test03.testingpromo.com' @pytest.mark.skip_prod def test_bi03_downgrade_plan_via_change_plan_button( sign_up_page, pricing_page, billing_page, base_url ): """ Bi03 User can downgrade his plan using Change plan button. Standard Annual user opens Billing, clicks Change Plan, selects Basic Monthly from the embedded widget, closes the confirmation, and ends up with a pending downgrade (still on Standard until period end). """ email = f"promo.auto.bi03.{uuid.uuid4().hex[:8]}@promo.com" > _signup_and_purchase_plan( sign_up_page, pricing_page, base_url, email, PricingPage.STANDARD_ANNUAL_CTA, monthly=False, ) tests/billing/test_billing.py:106: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/billing/test_billing.py:57: in _signup_and_purchase_plan pricing_page.go_to_pricing_via_header() pages/pricing_page.py:98: in go_to_pricing_via_header profile_menu.wait_for(state="visible", timeout=self.T_LOAD) /usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:20539: in wait_for self._sync( /usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:748: in wait_for await self._frame.wait_for_selector( /usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:394: in wait_for_selector await self._channel.send( /usr/local/lib/python3.10/dist-packages/playwright/_impl/_connection.py:76: in send return await self._connection.wrap_api_call( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <playwright._impl._connection.Connection object at 0x7f43b9606920> cb = <function Channel.send.<locals>.<lam
📸 Failure Screenshot:
Test failure screenshot
test_bi04_update_payment_method_and_email[chromium]
failed
⏱️ Duration: 86.95s
❌ Error:
sign_up_page = <pages.sign_up_page.SignUpPage object at 0x7f43b3b87b20> pricing_page = <pages.pricing_page.PricingPage object at 0x7f43b3bf6c80> billing_page = <pages.billing_page.BillingPage object at 0x7f43b3bf6740> base_url = 'https://test03.testingpromo.com' @pytest.mark.skip_prod def test_bi04_update_payment_method_and_email( sign_up_page, pricing_page, billing_page, base_url ): """ Bi04 User can update his payment method and email address. Pro Annual user opens Billing, updates the card to a different valid test card, updates the billing email, and both changes are reflected. """ email = f"promo.auto.bi04.{uuid.uuid4().hex[:8]}@promo.com" _signup_and_purchase_plan( sign_up_page, pricing_page, base_url, email, PricingPage.PRO_ANNUAL_CTA, monthly=False, ) billing_page.go_to_billing_url(base_url) billing_page.assert_on_billing_page() billing_page.click_update_payment_method() > billing_page.complete_new_card_checkout() tests/billing/test_billing.py:144: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pages/billing_page.py:257: in complete_new_card_checkout self.page.wait_for_url(re.compile(r"promo\.com"), timeout=self.T_NETWORK) /usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:10029: in wait_for_url self._sync( /usr/local/lib/python3.10/dist-packages/playwright/_impl/_page.py:588: in wait_for_url return await self._main_frame.wait_for_url(**locals_to_params(locals())) /usr/local/lib/python3.10/dist-packages/playwright/_impl/_frame.py:288: in wait_for_url async with self.expect_navigation( /usr/local/lib/python3.10/dist-packages/playwright/_impl/_event_context_manager.py:33: in __aexit__ await self._future _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ async def continuation() -> Optional[Response]: >
📸 Failure Screenshot:
Test failure screenshot
test_bi05_standard_user_redirected_from_upgrade_page[chromium]
passed
⏱️ Duration: 37.39s
test_bi07_basic_annual_upgrades_via_upgrade_page[chromium]
failed
⏱️ Duration: 59.20s
❌ Error:
sign_up_page = <pages.sign_up_page.SignUpPage object at 0x7f43b86a06d0> pricing_page = <pages.pricing_page.PricingPage object at 0x7f43b180dd50> billing_page = <pages.billing_page.BillingPage object at 0x7f43b180dd80> login_page = <pages.login_page.LoginPage object at 0x7f43b1adc0d0> base_url = 'https://test03.testingpromo.com' @pytest.mark.skip_prod_skip_smoke def test_bi07_basic_annual_upgrades_via_upgrade_page( sign_up_page, pricing_page, billing_page, login_page, base_url ): """ Bi07 Basic annual user upgrades plan to standard via the upgrade page. Covers the signed-out edge case: the upgrade page is reachable while logged out, attempting to upgrade surfaces an inline login form, and completing login finishes the upgrade. Scope note: the source scenario also asserts the Monthly/Annual toggle is hidden on this page (both signed out and signed back in). Verified empirically (2026-09-13) that the toggle IS visible for a signed-out visitor on the current product — that assertion no longer reflects real behavior (the source itself flagged this exact step as "to_improve... please review" even at the time it was written), so it was dropped rather than encoding a false expectation. """ email = f"promo.auto.bi07.{uuid.uuid4().hex[:8]}@promo.com" _signup_and_purchase_plan( sign_up_page, pricing_page, base_url, email, PricingPage.BASIC_ANNUAL_CTA, monthly=False, ) > login_page.sign_out() tests/billing/test_billing.py:231: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ pages/login_page.py:179: in sign_out self.page.locator(self.USERNAME_MENU).hover() /usr/local/lib/python3.10/dist-packages/playwright/sync_api/_generated.py:19385: in hover self._sync( /usr/local/lib/python3.10/dist-packages/playwright/_impl/_locator.py:482: in hover retu
📸 Failure Screenshot:
Test failure screenshot